* Added COMAL-80 language highlight. Co-authored-by: Jean Abou Samra <jean@abou-samra.fr>
630 lines
16 KiB
Text
Generated
630 lines
16 KiB
Text
Generated
'0010' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'// This is a line comment.\n' Comment.Single
|
|
|
|
'0020' Literal.Number.Integer
|
|
' \n' Text.Whitespace
|
|
|
|
'0030' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
"a_name'with←very[strange]characters\\in£it" Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0040' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'// Are keywords and word operators at start of names safe?\n' Comment.Single
|
|
|
|
'0050' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
"do'something" Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0060' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
"and←then'something'different" Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0070' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'case[closed' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0080' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
"closed]it'is" Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0090' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'eod\\really' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0100' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
"true£or'false" Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0110' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
"false_and'true" Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0120' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'IF' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'a' Name
|
|
' ' Text.Whitespace
|
|
'AND' Operator.Word
|
|
' ' Text.Whitespace
|
|
'then←some' Name
|
|
' ' Text.Whitespace
|
|
'THEN' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'NULL' Keyword.Reserved
|
|
'\n' Text.Whitespace
|
|
|
|
'0130' Literal.Number.Integer
|
|
' \n' Text.Whitespace
|
|
|
|
'0140' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'text$' Name
|
|
':=' Operator
|
|
'"' Literal.String
|
|
'some text' Literal.String
|
|
'"' Literal.String
|
|
';' Punctuation
|
|
' ' Text.Whitespace
|
|
'a' Name
|
|
':=' Operator
|
|
'42' Literal.Number.Integer
|
|
';' Punctuation
|
|
' ' Text.Whitespace
|
|
'b' Name
|
|
':=' Operator
|
|
'TRUE' Keyword.Constant
|
|
';' Punctuation
|
|
' ' Text.Whitespace
|
|
'c' Name
|
|
':=' Operator
|
|
'FALSE' Keyword.Constant
|
|
';' Punctuation
|
|
' ' Text.Whitespace
|
|
"full'circle" Name
|
|
':=' Operator
|
|
'2' Literal.Number.Integer
|
|
'*' Operator
|
|
'PI' Keyword.Constant
|
|
'\n' Text.Whitespace
|
|
|
|
'0150' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'address#' Name
|
|
':=' Operator
|
|
'$d020' Literal.Number.Hex
|
|
';' Punctuation
|
|
' ' Text.Whitespace
|
|
'mask#' Name
|
|
':=' Operator
|
|
'%00001111' Literal.Number.Bin
|
|
' ' Text.Whitespace
|
|
'// Hex & bin numbers.\n' Comment.Single
|
|
|
|
'0160' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'DIM' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'field' Name
|
|
'(' Punctuation
|
|
'-' Operator
|
|
'1' Literal.Number.Integer
|
|
':' Punctuation
|
|
'1' Literal.Number.Integer
|
|
',' Punctuation
|
|
'-' Operator
|
|
'1' Literal.Number.Integer
|
|
':' Punctuation
|
|
'1' Literal.Number.Integer
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'// 3x3 array with 0,0 at the center.\n' Comment.Single
|
|
|
|
'0170' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'DIM' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'buffer$' Name
|
|
' ' Text.Whitespace
|
|
'OF' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'1024' Literal.Number.Integer
|
|
',' Punctuation
|
|
'lines$' Name
|
|
'(' Punctuation
|
|
'100' Literal.Number.Integer
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'OF' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'80' Literal.Number.Integer
|
|
',' Punctuation
|
|
'xs' Name
|
|
'(' Punctuation
|
|
'low' Name
|
|
':' Punctuation
|
|
'high' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
'0180' Literal.Number.Integer
|
|
' \n' Text.Whitespace
|
|
|
|
'0190' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'PRINT' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'"' Literal.String
|
|
'She said ' Literal.String
|
|
'""' Literal.String.Escape
|
|
'Hello!' Literal.String
|
|
'""' Literal.String.Escape
|
|
' to the world.' Literal.String
|
|
'"' Literal.String
|
|
'\n' Text.Whitespace
|
|
|
|
'0200' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'PRINT' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'"' Literal.String
|
|
'Embedding ' Literal.String
|
|
'"18"' Literal.String.Escape
|
|
'byte values' Literal.String
|
|
'"146"' Literal.String.Escape
|
|
' into a string.' Literal.String
|
|
'"' Literal.String
|
|
'\n' Text.Whitespace
|
|
|
|
'0210' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'PRINT' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'"' Literal.String
|
|
'42' Literal.String
|
|
'"' Literal.String
|
|
';' Punctuation
|
|
'"' Literal.String
|
|
'"' Literal.String
|
|
';' Punctuation
|
|
'"' Literal.String
|
|
'Hallo' Literal.String
|
|
'"' Literal.String
|
|
';' Punctuation
|
|
'"' Literal.String
|
|
'"0"' Literal.String.Escape
|
|
'"' Literal.String
|
|
'\n' Text.Whitespace
|
|
|
|
'0220' Literal.Number.Integer
|
|
' \n' Text.Whitespace
|
|
|
|
'0230' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'// Short circuit operators OR ELSE and AND THEN contain keywords.\n' Comment.Single
|
|
|
|
'0240' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'IF' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'a' Name
|
|
' ' Text.Whitespace
|
|
'OR ELSE' Operator.Word
|
|
' ' Text.Whitespace
|
|
'b' Name
|
|
' ' Text.Whitespace
|
|
'AND THEN' Operator.Word
|
|
' ' Text.Whitespace
|
|
'c' Name
|
|
' ' Text.Whitespace
|
|
'THEN' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
"do'something" Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0250' Literal.Number.Integer
|
|
' \n' Text.Whitespace
|
|
|
|
'0260' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'// Optional keywords.\n' Comment.Single
|
|
|
|
'0270' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'EXEC' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
"some'procedure" Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0280' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'LET' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'answer' Name
|
|
':=' Operator
|
|
'42' Literal.Number.Integer
|
|
'\n' Text.Whitespace
|
|
|
|
'0290' Literal.Number.Integer
|
|
' \n' Text.Whitespace
|
|
|
|
'0300' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'FOR' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'i' Name
|
|
':=' Operator
|
|
'0' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'TO' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'10' Literal.Number.Integer
|
|
'\n' Text.Whitespace
|
|
|
|
'0310' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'PRINT' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'"' Literal.String
|
|
'fib(' Literal.String
|
|
'"' Literal.String
|
|
',' Punctuation
|
|
'i' Name
|
|
',' Punctuation
|
|
'"' Literal.String
|
|
') =' Literal.String
|
|
'"' Literal.String
|
|
';' Punctuation
|
|
'fib' Name
|
|
'(' Punctuation
|
|
'i' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
'0320' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'ENDFOR' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'i' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0330' Literal.Number.Integer
|
|
' \n' Text.Whitespace
|
|
|
|
'0340' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'RESTORE' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
"this'is'a'label" Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0350' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'WHILE' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'NOT' Operator.Word
|
|
' ' Text.Whitespace
|
|
'EOD' Name.Builtin
|
|
'\n' Text.Whitespace
|
|
|
|
'0360' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'READ' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'language$' Name
|
|
',' Punctuation
|
|
'version' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0370' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'PRINT' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'language$' Name
|
|
';' Punctuation
|
|
'"' Literal.String
|
|
'version' Literal.String
|
|
'"' Literal.String
|
|
';' Punctuation
|
|
'version' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0380' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'ENDWHILE' Keyword.Reserved
|
|
'\n' Text.Whitespace
|
|
|
|
'0390' Literal.Number.Integer
|
|
' \n' Text.Whitespace
|
|
|
|
'0400' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
't$' Name
|
|
'=' Operator
|
|
'"' Literal.String
|
|
'"' Literal.String
|
|
'\n' Text.Whitespace
|
|
|
|
'0410' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'REPEAT' Keyword.Reserved
|
|
'\n' Text.Whitespace
|
|
|
|
'0420' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
"max'length" Name
|
|
':=' Operator
|
|
'LEN' Name.Builtin
|
|
'(' Punctuation
|
|
't$' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
'0430' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
't$' Name
|
|
':+' Operator
|
|
'"' Literal.String
|
|
'x' Literal.String
|
|
'"' Literal.String
|
|
'\n' Text.Whitespace
|
|
|
|
'0440' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'UNTIL' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'LEN' Name.Builtin
|
|
'(' Punctuation
|
|
't$' Name
|
|
')' Punctuation
|
|
'=' Operator
|
|
"max'length" Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0450' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'PRINT' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'"' Literal.String
|
|
'UnDIMed strings have a max length of' Literal.String
|
|
'"' Literal.String
|
|
';' Punctuation
|
|
"max'length" Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0460' Literal.Number.Integer
|
|
' \n' Text.Whitespace
|
|
|
|
'0470' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'PROC' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'swap' Name
|
|
'(' Punctuation
|
|
'REF' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'a' Name
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'REF' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'b' Name
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'CLOSED' Keyword.Declaration
|
|
'\n' Text.Whitespace
|
|
|
|
'0480' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'tmp' Name
|
|
':=' Operator
|
|
'a' Name
|
|
';' Punctuation
|
|
' ' Text.Whitespace
|
|
'a' Name
|
|
':=' Operator
|
|
'b' Name
|
|
';' Punctuation
|
|
' ' Text.Whitespace
|
|
'b' Name
|
|
':=' Operator
|
|
'tmp' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0490' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'ENDPROC' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'swap' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0500' Literal.Number.Integer
|
|
' \n' Text.Whitespace
|
|
|
|
'0510' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'PROC' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'shuffle' Name
|
|
'(' Punctuation
|
|
'n' Name
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'REF' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'values' Name
|
|
'(' Punctuation
|
|
')' Punctuation
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'CLOSED' Keyword.Declaration
|
|
'\n' Text.Whitespace
|
|
|
|
'0520' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'IMPORT' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'swap' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0530' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'FOR' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'i' Name
|
|
':=' Operator
|
|
'n' Name
|
|
' ' Text.Whitespace
|
|
'TO' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'1' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'STEP' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'-' Operator
|
|
'1' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'DO' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'swap' Name
|
|
'(' Punctuation
|
|
'values' Name
|
|
'(' Punctuation
|
|
'i' Name
|
|
')' Punctuation
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'values' Name
|
|
'(' Punctuation
|
|
'RND' Name.Builtin
|
|
'(' Punctuation
|
|
'1' Literal.Number.Integer
|
|
',' Punctuation
|
|
'i' Name
|
|
')' Punctuation
|
|
')' Punctuation
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
'0540' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'ENDPROC' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'shuffle' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0550' Literal.Number.Integer
|
|
' \n' Text.Whitespace
|
|
|
|
'0560' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'FUNC' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'fib' Name
|
|
'(' Punctuation
|
|
'n' Name
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'CLOSED' Keyword.Declaration
|
|
'\n' Text.Whitespace
|
|
|
|
'0570' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'IF' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'n' Name
|
|
'<' Operator
|
|
'2' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'THEN' Keyword.Reserved
|
|
'\n' Text.Whitespace
|
|
|
|
'0580' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'RETURN' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'n' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0590' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'ELSE' Keyword.Reserved
|
|
'\n' Text.Whitespace
|
|
|
|
'0600' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'RETURN' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'fib' Name
|
|
'(' Punctuation
|
|
'n' Name
|
|
'-' Operator
|
|
'1' Literal.Number.Integer
|
|
')' Punctuation
|
|
'+' Operator
|
|
'fib' Name
|
|
'(' Punctuation
|
|
'n' Name
|
|
'-' Operator
|
|
'2' Literal.Number.Integer
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
'0610' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'ENDIF' Keyword.Reserved
|
|
'\n' Text.Whitespace
|
|
|
|
'0620' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'ENDFUNC' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'fib' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'0630' Literal.Number.Integer
|
|
' \n' Text.Whitespace
|
|
|
|
'0640' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
"this'is'a'label:" Name.Label
|
|
'\n' Text.Whitespace
|
|
|
|
'0650' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
"and'a'label:" Name.Label
|
|
' ' Text.Whitespace
|
|
'// with comment.\n' Comment.Single
|
|
|
|
'0660' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'DATA' Keyword.Reserved
|
|
' ' Text.Whitespace
|
|
'"' Literal.String
|
|
'CBM BASIC' Literal.String
|
|
'"' Literal.String
|
|
',' Punctuation
|
|
'2' Literal.Number.Integer
|
|
',' Punctuation
|
|
'"' Literal.String
|
|
'Comal' Literal.String
|
|
'"' Literal.String
|
|
',' Punctuation
|
|
'80' Literal.Number.Integer
|
|
',' Punctuation
|
|
'"' Literal.String
|
|
'Python' Literal.String
|
|
'"' Literal.String
|
|
',' Punctuation
|
|
'3.7' Literal.Number.Float
|
|
'\n' Text.Whitespace
|