+ 10))
+
+ "Alist that contains all the possible operation codes for mix.
+Each elt has the form
+ (OP-CODE GROUP FULL-NAME C-BYTE F-BYTE DESCRIPTION EXECUTION-TIME)
+Where OP-CODE is the text of the opcode as a symbol,
+FULL-NAME is the human readable name as a string,
+C-BYTE is the operation code telling what operation is to be performed,
+F-BYTE holds a modification of the operation code which can be a symbol
+ or a number,
+DESCRIPTION contains an string with a description about the operation code and
+EXECUTION-TIME holds info about the time it takes, number or string.")
+;; (makunbound 'mixal-operation-codes-alist)
+
+
+;;; Font-locking:
+(defvar mixal-font-lock-syntactic-keywords
+ ;; Normal comments start with a * in column 0 and end at end of line.
+ '(("^\\*" (0 '(11))) ;(string-to-syntax "<") == '(11)
+ ;; Every line can end with a comment which is placed after the operand.
+ ;; I assume here that mnemonics without operands can not have a comment.
+ ("^[[:alnum:]]*[ \t]+[[:alnum:]]+[ \t]+[^ \n\t]+[ \t]*\\([ \t]\\)[^\n \t]"
+ (1 '(11)))))
+
+(defvar mixal-font-lock-keywords
+ `(("^\\([A-Z0-9a-z]+\\)"
+ (1 mixal-font-lock-label-face))
+ (,(regexp-opt (mapcar (lambda (x) (symbol-name (car x)))
+ mixal-operation-codes-alist) 'words)
+ . mixal-font-lock-operation-code-face)
+ (,(regexp-opt mixal-assembly-pseudoinstructions 'words)
+ . mixal-font-lock-assembly-pseudoinstruction-face)
+ ("^[A-Z0-9a-z]*[ \t]+[A-ZO-9a-z]+[ \t]+\\(=.*=\\)"
+ (1 font-lock-constant-face)))
+ "Keyword highlighting specification for `mixal-mode'.")
+;; (makunbound 'mixal-font-lock-keywords)