'structure'   Keyword.Reserved
' '           Text
'C'           Name.Namespace
' '           Text
'='           Punctuation
' '           Text
'struct'      Keyword.Reserved
'\n   '       Text
'val'         Keyword.Reserved
' '           Text
'a'           Name.Variable
' '           Text
'='           Punctuation
' '           Text
'12'          Literal.Number.Integer
'\n   '       Text
'fun'         Keyword.Reserved
' '           Text
'f'           Name.Function
' '           Text
'x'           Name
' '           Text
'='           Punctuation
' '           Text
'x'           Name
' '           Text
'+'           Name
' '           Text
'5'           Literal.Number.Integer
'\n'          Text

'end'         Keyword.Reserved
'\n\n'        Text

'(*'          Comment.Multiline
'(*'          Comment.Multiline
'(*'          Comment.Multiline
'(*'          Comment.Multiline
'(*'          Comment.Multiline
' '           Comment.Multiline
'T'           Comment.Multiline
'h'           Comment.Multiline
'i'           Comment.Multiline
's'           Comment.Multiline
' '           Comment.Multiline
'f'           Comment.Multiline
'i'           Comment.Multiline
'l'           Comment.Multiline
'e'           Comment.Multiline
' '           Comment.Multiline
'i'           Comment.Multiline
's'           Comment.Multiline
' '           Comment.Multiline
'a'           Comment.Multiline
'l'           Comment.Multiline
'l'           Comment.Multiline
' '           Comment.Multiline
'p'           Comment.Multiline
'r'           Comment.Multiline
'e'           Comment.Multiline
't'           Comment.Multiline
't'           Comment.Multiline
'y'           Comment.Multiline
' '           Comment.Multiline
's'           Comment.Multiline
't'           Comment.Multiline
'r'           Comment.Multiline
'a'           Comment.Multiline
'n'           Comment.Multiline
'g'           Comment.Multiline
'e'           Comment.Multiline
' '           Comment.Multiline
'S'           Comment.Multiline
't'           Comment.Multiline
'a'           Comment.Multiline
'n'           Comment.Multiline
'd'           Comment.Multiline
'a'           Comment.Multiline
'r'           Comment.Multiline
'd'           Comment.Multiline
' '           Comment.Multiline
'M'           Comment.Multiline
'L'           Comment.Multiline
' '           Comment.Multiline
'*)'          Comment.Multiline
'*)'          Comment.Multiline
'*)'          Comment.Multiline
'*)'          Comment.Multiline
' '           Comment.Multiline
'(*'          Comment.Multiline
'*)'          Comment.Multiline
'*)'          Comment.Multiline
'\n'          Text

'(*'          Comment.Multiline
' '           Comment.Multiline
'R'           Comment.Multiline
'o'           Comment.Multiline
'b'           Comment.Multiline
'e'           Comment.Multiline
'r'           Comment.Multiline
't'           Comment.Multiline
' '           Comment.Multiline
'J'           Comment.Multiline
'.'           Comment.Multiline
' '           Comment.Multiline
'S'           Comment.Multiline
'i'           Comment.Multiline
'm'           Comment.Multiline
'm'           Comment.Multiline
'o'           Comment.Multiline
'n'           Comment.Multiline
's'           Comment.Multiline
' '           Comment.Multiline
'*)'          Comment.Multiline
'\n\n'        Text

'(*'          Comment.Multiline
' '           Comment.Multiline
'C'           Comment.Multiline
'o'           Comment.Multiline
'm'           Comment.Multiline
'm'           Comment.Multiline
'e'           Comment.Multiline
'n'           Comment.Multiline
't'           Comment.Multiline
's'           Comment.Multiline
' '           Comment.Multiline
'(*'          Comment.Multiline
' '           Comment.Multiline
'c'           Comment.Multiline
'a'           Comment.Multiline
'n'           Comment.Multiline
' '           Comment.Multiline
'b'           Comment.Multiline
'e'           Comment.Multiline
' '           Comment.Multiline
'n'           Comment.Multiline
'e'           Comment.Multiline
's'           Comment.Multiline
't'           Comment.Multiline
'e'           Comment.Multiline
'd'           Comment.Multiline
' '           Comment.Multiline
'*)'          Comment.Multiline
' '           Comment.Multiline
'*)'          Comment.Multiline
'\n'          Text

'structure'   Keyword.Reserved
' '           Text
'S'           Name.Namespace
' '           Text
'='           Punctuation
' '           Text
'struct'      Keyword.Reserved
'\n  '        Text
'val'         Keyword.Reserved
' '           Text
'x'           Name.Variable
' '           Text
'='           Punctuation
' '           Text
'('           Punctuation
'1'           Literal.Number.Integer
','           Punctuation
' '           Text
'2'           Literal.Number.Integer
','           Punctuation
' '           Text
'"'           Literal.String.Double
't'           Literal.String.Double
'h'           Literal.String.Double
'r'           Literal.String.Double
'e'           Literal.String.Double
'e'           Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
'\n'          Text

'end'         Keyword.Reserved
'\n\n'        Text

'structure'   Keyword.Reserved
' '           Text
'Sv'          Name.Namespace
' '           Text
'='           Punctuation
' '           Text
'struct'      Keyword.Reserved
'\n  '        Text
'(*'          Comment.Multiline
' '           Comment.Multiline
'T'           Comment.Multiline
'h'           Comment.Multiline
'e'           Comment.Multiline
's'           Comment.Multiline
'e'           Comment.Multiline
' '           Comment.Multiline
'l'           Comment.Multiline
'o'           Comment.Multiline
'o'           Comment.Multiline
'k'           Comment.Multiline
' '           Comment.Multiline
'g'           Comment.Multiline
'o'           Comment.Multiline
'o'           Comment.Multiline
'd'           Comment.Multiline
' '           Comment.Multiline
'*)'          Comment.Multiline
'\n  '        Text
'val'         Keyword.Reserved
' '           Text
'x'           Name.Variable
' '           Text
'='           Punctuation
' '           Text
'('           Punctuation
'1'           Literal.Number.Integer
','           Punctuation
' '           Text
'2'           Literal.Number.Integer
','           Punctuation
' '           Text
'"'           Literal.String.Double
't'           Literal.String.Double
'h'           Literal.String.Double
'r'           Literal.String.Double
'e'           Literal.String.Double
'e'           Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
'\n  '        Text
'val'         Keyword.Reserved
' '           Text
'z'           Name.Variable
' '           Text
'='           Punctuation
' '           Text
'#2'          Name.Label
' '           Text
'x'           Name
'\n\n  '      Text
'(*'          Comment.Multiline
' '           Comment.Multiline
'A'           Comment.Multiline
'l'           Comment.Multiline
't'           Comment.Multiline
'h'           Comment.Multiline
'o'           Comment.Multiline
'u'           Comment.Multiline
'g'           Comment.Multiline
'h'           Comment.Multiline
' '           Comment.Multiline
't'           Comment.Multiline
'h'           Comment.Multiline
'e'           Comment.Multiline
's'           Comment.Multiline
'e'           Comment.Multiline
' '           Comment.Multiline
'l'           Comment.Multiline
'o'           Comment.Multiline
'o'           Comment.Multiline
'k'           Comment.Multiline
' '           Comment.Multiline
'b'           Comment.Multiline
'a'           Comment.Multiline
'd'           Comment.Multiline
' '           Comment.Multiline
'('           Comment.Multiline
'n'           Comment.Multiline
'o'           Comment.Multiline
't'           Comment.Multiline
' '           Comment.Multiline
'a'           Comment.Multiline
'l'           Comment.Multiline
'l'           Comment.Multiline
' '           Comment.Multiline
't'           Comment.Multiline
'h'           Comment.Multiline
'e'           Comment.Multiline
' '           Comment.Multiline
'n'           Comment.Multiline
'u'           Comment.Multiline
'm'           Comment.Multiline
'b'           Comment.Multiline
'e'           Comment.Multiline
'r'           Comment.Multiline
's'           Comment.Multiline
' '           Comment.Multiline
'a'           Comment.Multiline
'r'           Comment.Multiline
'e'           Comment.Multiline
' '           Comment.Multiline
'c'           Comment.Multiline
'o'           Comment.Multiline
'n'           Comment.Multiline
's'           Comment.Multiline
't'           Comment.Multiline
'a'           Comment.Multiline
'n'           Comment.Multiline
't'           Comment.Multiline
's'           Comment.Multiline
')'           Comment.Multiline
','           Comment.Multiline
' '           Comment.Multiline
' '           Comment.Multiline
' '           Comment.Multiline
' '           Comment.Multiline
' '           Comment.Multiline
' '           Comment.Multiline
' '           Comment.Multiline
'*'           Comment.Multiline
'\n'          Comment.Multiline

' '           Comment.Multiline
' '           Comment.Multiline
' '           Comment.Multiline
'*'           Comment.Multiline
' '           Comment.Multiline
't'           Comment.Multiline
'h'           Comment.Multiline
'e'           Comment.Multiline
'y'           Comment.Multiline
' '           Comment.Multiline
'n'           Comment.Multiline
'e'           Comment.Multiline
'v'           Comment.Multiline
'e'           Comment.Multiline
'r'           Comment.Multiline
' '           Comment.Multiline
'o'           Comment.Multiline
'c'           Comment.Multiline
'c'           Comment.Multiline
'u'           Comment.Multiline
'r'           Comment.Multiline
' '           Comment.Multiline
'i'           Comment.Multiline
'n'           Comment.Multiline
' '           Comment.Multiline
'p'           Comment.Multiline
'r'           Comment.Multiline
'a'           Comment.Multiline
'c'           Comment.Multiline
't'           Comment.Multiline
'i'           Comment.Multiline
'c'           Comment.Multiline
'e'           Comment.Multiline
','           Comment.Multiline
' '           Comment.Multiline
'a'           Comment.Multiline
's'           Comment.Multiline
' '           Comment.Multiline
't'           Comment.Multiline
'h'           Comment.Multiline
'e'           Comment.Multiline
'y'           Comment.Multiline
' '           Comment.Multiline
'a'           Comment.Multiline
'r'           Comment.Multiline
'e'           Comment.Multiline
' '           Comment.Multiline
'e'           Comment.Multiline
'q'           Comment.Multiline
'u'           Comment.Multiline
'i'           Comment.Multiline
'v'           Comment.Multiline
'a'           Comment.Multiline
'l'           Comment.Multiline
'e'           Comment.Multiline
'n'           Comment.Multiline
't'           Comment.Multiline
' '           Comment.Multiline
't'           Comment.Multiline
'o'           Comment.Multiline
' '           Comment.Multiline
't'           Comment.Multiline
'h'           Comment.Multiline
'e'           Comment.Multiline
' '           Comment.Multiline
'a'           Comment.Multiline
'b'           Comment.Multiline
'o'           Comment.Multiline
'v'           Comment.Multiline
'e'           Comment.Multiline
'.'           Comment.Multiline
' '           Comment.Multiline
'*)'          Comment.Multiline
'\n  '        Text
'val'         Keyword.Reserved
' '           Text
'x'           Name.Variable
' '           Text
'='           Punctuation
' '           Text
'{'           Punctuation
'1'           Literal.Number.Integer
' '           Text
'='           Punctuation
' '           Text
'1'           Literal.Number.Integer
','           Punctuation
' '           Text
'3'           Literal.Number.Integer
' '           Text
'='           Punctuation
' '           Text
'"'           Literal.String.Double
't'           Literal.String.Double
'h'           Literal.String.Double
'r'           Literal.String.Double
'e'           Literal.String.Double
'e'           Literal.String.Double
'"'           Literal.String.Double
','           Punctuation
' '           Text
'2'           Literal.Number.Integer
' '           Text
'='           Punctuation
' '           Text
'2'           Literal.Number.Integer
'}'           Punctuation
'\n  '        Text
'val'         Keyword.Reserved
' '           Text
'z'           Name.Variable
' '           Text
'='           Punctuation
' '           Text
'#\n            2' Name.Label
' '           Text
'x'           Name
'\n\n  '      Text
'val'         Keyword.Reserved
' '           Text
'||'          Name.Variable
' '           Text
'='           Punctuation
' '           Text
'12'          Literal.Number.Integer
'\n'          Text

'end'         Keyword.Reserved
'\n\n'        Text

'signature'   Keyword.Reserved
' '           Text
'S'           Name.Namespace
' '           Text
'='           Punctuation
' '           Text
'sig'         Keyword.Reserved
' '           Text
'end'         Keyword.Reserved
'\n\n'        Text

'structure'   Keyword.Reserved
' '           Text
'S'           Name.Namespace
' '           Text
'='           Punctuation
' '           Text
'struct'      Keyword.Reserved
'\n  '        Text
'val'         Keyword.Reserved
' '           Text
'x'           Name.Variable
' '           Text
'='           Punctuation
' '           Text
'('           Punctuation
'1'           Literal.Number.Integer
','           Punctuation
' '           Text
'2'           Literal.Number.Integer
','           Punctuation
' '           Text
'"'           Literal.String.Double
't'           Literal.String.Double
'h'           Literal.String.Double
'r'           Literal.String.Double
'e'           Literal.String.Double
'e'           Literal.String.Double
'"'           Literal.String.Double
')'           Punctuation
'\n  '        Text
'datatype'    Keyword.Reserved
' '           Text
"'a"          Name.Decorator
' '           Text
't'           Keyword.Type
' '           Text
'='           Punctuation
' '           Text
'T'           Name.Class
' '           Text
'of'          Keyword.Reserved
' '           Text
"'a"          Name.Decorator
'\n       '   Text
'and'         Keyword.Reserved
' '           Text
'u'           Keyword.Type
' '           Text
'='           Punctuation
' '           Text
'U'           Name.Class
' '           Text
'of'          Keyword.Reserved
' '           Text
'v'           Name
' '           Text
'*'           Name
' '           Text
'v'           Name
'\n  '        Text
'withtype'    Keyword.Reserved
' '           Text
'v'           Keyword.Type
' '           Text
'='           Punctuation
' '           Text
'{'           Punctuation
'left'        Name
':'           Punctuation
' '           Text
'int'         Name
' '           Text
't'           Name
','           Punctuation
' '           Text
'right'       Name
':'           Punctuation
' '           Text
'int'         Name
' '           Text
't'           Name
'}'           Punctuation
'\n  '        Text
''            Text
'exception'   Keyword.Reserved
' '           Text
'E1'          Name.Class
' '           Text
'of'          Keyword.Reserved
' '           Text
'int'         Name.Class
' '           Text
'and'         Keyword.Reserved
' '           Text
'E2'          Name.Class
'\n  '        Text
'fun'         Name.Class
' '           Text
"'a"          Name.Decorator
' '           Text
'id'          Name
' '           Text
'('           Punctuation
'x'           Name
':'           Punctuation
' '           Text
"'a"          Name.Decorator
')'           Punctuation
' '           Text
':'           Punctuation
' '           Text
"'a"          Name.Decorator
' '           Text
'='           Punctuation
' '           Text
'x'           Name
'\n\n  '      Text
'val'         Keyword.Reserved
' \n      '   Text
"'a"          Name.Decorator
' '           Text
'id'          Name.Variable
' '           Text
'='           Punctuation
' '           Text
'fn'          Keyword.Reserved
' '           Text
'('           Punctuation
'x'           Name
' '           Text
':'           Punctuation
' '           Text
"'a"          Name.Decorator
')'           Punctuation
' '           Text
'=>'          Punctuation
' '           Text
'x'           Name
'\n'          Text

'end'         Keyword.Reserved
'\n\n'        Text

'signature'   Keyword.Reserved
' '           Text
'R'           Name.Namespace
' '           Text
'='           Punctuation
' '           Text
'sig'         Keyword.Reserved
'\n  '        Text
'type'        Keyword.Reserved
' '           Text
't'           Keyword.Type
'\n  '        Text
''            Text
'val'         Keyword.Reserved
' '           Text
'x'           Name.Variable
' '           Text
':'           Punctuation
' '           Text
't'           Name
'\n  '        Text
'val'         Keyword.Reserved
' '           Text
'f'           Name.Variable
' '           Text
':'           Punctuation
' '           Text
't'           Name
' '           Text
'*'           Name
' '           Text
'int'         Name
' '           Text
'->'          Punctuation
' '           Text
'int'         Name
'\n'          Text

'end'         Keyword.Reserved
'\n'          Text

'structure'   Keyword.Reserved
' '           Text
'R'           Name.Namespace
' '           Text
':'           Punctuation
' '           Text
'R'           Name
' '           Text
'='           Punctuation
' '           Text
'struct'      Keyword.Reserved
'\n  '        Text
'datatype'    Keyword.Reserved
' '           Text
't'           Keyword.Type
' '           Text
'='           Punctuation
' '           Text
'T'           Name.Class
' '           Text
'of'          Keyword.Reserved
' '           Text
'int'         Name
'\n  '        Text
''            Text
'val'         Keyword.Reserved
' '           Text
'x'           Name.Variable
' '           Text
':'           Punctuation
' '           Text
't'           Name
' '           Text
'='           Punctuation
' '           Text
'T'           Name
' '           Text
'0'           Literal.Number.Integer
'\n  '        Text
'fun'         Keyword.Reserved
' '           Text
'f'           Name.Function
' '           Text
'('           Punctuation
'T'           Name
' '           Text
'x'           Name
','           Punctuation
' '           Text
'i'           Name
' '           Text
':'           Punctuation
' '           Text
'int'         Name
')'           Punctuation
' '           Text
':'           Punctuation
' '           Text
'int'         Name
' '           Text
'='           Punctuation
' '           Text
'x'           Name
' '           Text
'+'           Name
' '           Text
'i'           Name
'\n  '        Text
'fun'         Keyword.Reserved
' '           Text
"'a"          Name.Decorator
' '           Text
'id'          Name.Function
' '           Text
'('           Punctuation
'x'           Name
':'           Punctuation
' '           Text
"'a"          Name.Decorator
')'           Punctuation
' '           Text
':'           Punctuation
' '           Text
"'a"          Name.Decorator
' '           Text
'='           Punctuation
' '           Text
'x'           Name
'\n'          Text

'end'         Keyword.Reserved
'\n\n'        Text

'signature'   Keyword.Reserved
' '           Text
'BA_Z'        Name.Namespace
' '           Text
'='           Punctuation
' '           Text
'sig'         Keyword.Reserved
' \n   '      Text
'val'         Keyword.Reserved
' '           Text
's'           Name.Variable
':'           Punctuation
' '           Text
'int'         Name
'\n   '       Text
'include'     Keyword.Reserved
' '           Text
'S'           Name.Namespace
' '           Text
'R'           Name.Namespace
'\n'          Text

''            Text
'end'         Keyword.Reserved
' \n\n'       Text

'structure'   Keyword.Reserved
' '           Text
'b______'     Name.Namespace
' '           Text
'='           Punctuation
' '           Text
'struct'      Keyword.Reserved
' '           Text
'(*'          Comment.Multiline
' '           Comment.Multiline
'W'           Comment.Multiline
'h'           Comment.Multiline
'a'           Comment.Multiline
't'           Comment.Multiline
' '           Comment.Multiline
'(*'          Comment.Multiline
' '           Comment.Multiline
'A'           Comment.Multiline
' '           Comment.Multiline
'*'           Comment.Multiline
' '           Comment.Multiline
's'           Comment.Multiline
't'           Comment.Multiline
'r'           Comment.Multiline
'a'           Comment.Multiline
'n'           Comment.Multiline
'g'           Comment.Multiline
'e'           Comment.Multiline
' '           Comment.Multiline
'*'           Comment.Multiline
' '           Comment.Multiline
'n'           Comment.Multiline
'a'           Comment.Multiline
'm'           Comment.Multiline
'e'           Comment.Multiline
' '           Comment.Multiline
'*)'          Comment.Multiline
' '           Comment.Multiline
'f'           Comment.Multiline
'o'           Comment.Multiline
'r'           Comment.Multiline
' '           Comment.Multiline
')'           Comment.Multiline
' '           Comment.Multiline
'a'           Comment.Multiline
' '           Comment.Multiline
'('           Comment.Multiline
' '           Comment.Multiline
's'           Comment.Multiline
't'           Comment.Multiline
'r'           Comment.Multiline
'u'           Comment.Multiline
'c'           Comment.Multiline
't'           Comment.Multiline
' '           Comment.Multiline
'*)'          Comment.Multiline
'\n\n'        Text

'val'         Keyword.Reserved
' '           Text
'!%&$#+-/:<=>?@\\~`^|*' Name.Variable
' '           Text
'='           Punctuation
' '           Text
'3'           Literal.Number.Integer
'\n\n'        Text

'type'        Keyword.Reserved
' '           Text
"struct'"     Keyword.Type
' '           Text
'='           Punctuation
' '           Text
'int'         Name
' '           Text
'list'        Name
'\n'          Text

'and'         Keyword.Reserved
' '           Text
"'a"          Name.Decorator
' '           Text
"sig'"        Keyword.Type
' '           Text
'='           Punctuation
' '           Text
"'a"          Name.Decorator
' '           Text
'list'        Name
'\n'          Text

'and'         Keyword.Reserved
' '           Text
'('           Punctuation
"'a"          Name.Decorator
','           Punctuation
' '           Text
"'b"          Name.Decorator
')'           Punctuation
' '           Text
"end'"        Keyword.Type
' '           Text
'='           Punctuation
' '           Text
"'b"          Name.Decorator
' '           Text
'option'      Name
' '           Text
'*'           Name
' '           Text
"'a"          Name.Decorator
' '           Text
'list'        Name
'\n\n'        Text

''            Text
'structure'   Keyword.Reserved
' '           Text
'baz'         Name.Namespace
' '           Text
'='           Punctuation
' '           Text
'struct'      Keyword.Reserved
'\n  '        Text
'structure'   Keyword.Reserved
' '           Text
'Bar'         Name.Namespace
' '           Text
'='           Punctuation
' '           Text
'struct'      Keyword.Reserved
' \n    '     Text
'val'         Keyword.Reserved
' '           Text
'foo'         Name.Variable
' '           Text
'='           Punctuation
' '           Text
'!%&$#+-/:<=>?@\\~`^|*' Name
'\n  '        Text
'end'         Keyword.Reserved
'  \n'        Text

'end'         Keyword.Reserved
'\n\n'        Text

'infixr'      Keyword.Reserved
' '           Text
'+!+'         Name
' \n'         Text

'fun'         Keyword.Reserved
' '           Text
'('           Punctuation
'a'           Name
' '           Text
'+!+'         Name
' '           Text
'b'           Name
')'           Punctuation
' '           Text
'='           Name.Function
' '           Text
'('           Punctuation
'op'          Keyword.Reserved
' '           Text
'+'           Name
')'           Punctuation
' '           Text
'('           Punctuation
'a'           Name
','           Punctuation
' '           Text
'b'           Name
')'           Punctuation
'\n\n'        Text

'open'        Keyword.Reserved
' '           Text
'baz'         Name.Namespace
' '           Text
'S'           Name.Namespace
' '           Text
'R'           Name.Namespace
'\n\n'        Text

''            Text
'val'         Keyword.Reserved
'$$$'         Name.Variable
' '           Text
'='           Punctuation
' '           Text
'fn'          Keyword.Reserved
' '           Text
'x'           Name
' '           Text
'=>'          Punctuation
' '           Text
'fn'          Keyword.Reserved
' '           Text
'y'           Name
' '           Text
'=>'          Punctuation
' '           Text
'fn'          Keyword.Reserved
' '           Text
'z'           Name
' '           Text
'=>'          Punctuation
' '           Text
'fn'          Keyword.Reserved
' '           Text
'w'           Name
' '           Text
'=>'          Punctuation
' '           Text
'w'           Name
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'('           Punctuation
'foo'         Name
','           Punctuation
' '           Text
'++'          Name
','           Punctuation
' '           Text
'bar'         Name
','           Punctuation
' '           Text
'||'          Name
')'           Punctuation
' '           Text
'='           Name.Variable
' '           Text
'('           Punctuation
'4'           Literal.Number.Integer
','           Punctuation
' '           Text
'baz'         Name.Namespace
'.'           Punctuation
'Bar'         Name.Namespace
'.'           Punctuation
'foo'         Name
','           Punctuation
' '           Text
'!%&$#+-/:<=>?@\\~`^|*' Name
','           Punctuation
' '           Text
'Bar'         Name.Namespace
'.'           Punctuation
'foo'         Name
')'           Punctuation
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'$$$'         Name
'foo'         Name
'++'          Name
'bar'         Name
'||'          Name
'\n\n'        Text

'val'         Keyword.Reserved
' '           Text
"val'ue"      Name.Variable
' '           Text
':'           Punctuation
' '           Text
"'"           Name.Decorator
' '           Text
'list'        Name
' '           Text
'='           Punctuation
' '           Text
'['           Punctuation
']'           Punctuation
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'struct3'     Name.Variable
' '           Text
':'           Punctuation
' '           Text
'('           Punctuation
"'"           Name.Decorator
' '           Text
'->'          Punctuation
' '           Text
"'"           Name.Decorator
')'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'fn'          Keyword.Reserved
' '           Text
'x'           Name
' '           Text
'=>'          Punctuation
' '           Text
'x'           Name
'\n'          Text

'val'         Keyword.Reserved
' '           Text
"end_struct_'" Name.Variable
' '           Text
':'           Punctuation
' '           Text
'('           Punctuation
"'a"          Name.Decorator
' '           Text
'->'          Punctuation
' '           Text
"'a"          Name.Decorator
')'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'fn'          Keyword.Reserved
' '           Text
'x'           Name
' '           Text
'=>'          Punctuation
' '           Text
'x'           Name
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'x'           Name.Variable
' '           Text
':'           Punctuation
' '           Text
'('           Punctuation
"''a"         Name.Decorator
' '           Text
'->'          Punctuation
' '           Text
"''a"         Name.Decorator
')'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'fn'          Keyword.Reserved
' '           Text
'x'           Name
' '           Text
'=>'          Punctuation
' '           Text
'x'           Name
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'x'           Name.Variable
' '           Text
':'           Punctuation
' '           Text
'('           Punctuation
"''''"        Name.Decorator
' '           Text
'->'          Punctuation
' '           Text
"''''"        Name.Decorator
')'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'fn'          Keyword.Reserved
' '           Text
'x'           Name
' '           Text
'=>'          Punctuation
' '           Text
'x'           Name
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'x'           Name.Variable
' '           Text
':'           Punctuation
' '           Text
'unit'        Name
' '           Text
'='           Punctuation
' '           Text
'print'       Name
' '           Text
'"'           Literal.String.Double
'W'           Literal.String.Double
'e'           Literal.String.Double
'i'           Literal.String.Double
'r'           Literal.String.Double
'd'           Literal.String.Double
','           Literal.String.Double
' '           Literal.String.Double
'h'           Literal.String.Double
'u'           Literal.String.Double
'h'           Literal.String.Double
'?'           Literal.String.Double
'\\n'         Literal.String.Escape
'"'           Literal.String.Double
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'w'           Name.Variable
' '           Text
'='           Punctuation
' '           Text
'{'           Punctuation
'x'           Name
'='           Punctuation
'1'           Literal.Number.Integer
','           Punctuation
'y'           Name
'='           Punctuation
'2'           Literal.Number.Integer
','           Punctuation
'##='         Name
' '           Text
'='           Punctuation
'3'           Literal.Number.Integer
','           Punctuation
'4'           Literal.Number.Integer
'='           Punctuation
'3'           Literal.Number.Integer
'}'           Punctuation
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'{'           Punctuation
'##='         Name
','           Punctuation
' '           Text
'x'           Name
','           Punctuation
' '           Text
'4'           Literal.Number.Integer
'='           Punctuation
'a'           Name
','           Punctuation
'...'         Punctuation
'}'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'w'           Name
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'z'           Name.Variable
' '           Text
'='           Punctuation
' '           Text
'#4'          Name.Label
' '           Text
'w'           Name
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'z'           Name.Variable
' '           Text
'='           Punctuation
' '           Text
'# ##='       Name.Label
' '           Text
'w'           Name
'\n\n'        Text

'fun'         Keyword.Reserved
' '           Text
'f'           Name.Function
' '           Text
'x'           Name
' '           Text
'y'           Name
' '           Text
'0'           Literal.Number.Integer
' '           Text
'='           Punctuation
' '           Text
'4'           Literal.Number.Integer
' \n  '       Text
'|'           Punctuation
' '           Text
'f'           Name.Function
' '           Text
'x'           Name
' '           Text
'y'           Name
' '           Text
'z'           Name
' '           Text
'='           Punctuation
' '           Text
'4'           Literal.Number.Integer
' '           Text
'+'           Name
' '           Text
'Sv'          Name.Namespace
'.'           Punctuation
'||'          Name
'\n\n'        Text

'exception'   Keyword.Reserved
' '           Text
'Foo'         Name.Class
' '           Text
'of'          Keyword.Reserved
' '           Text
'int'         Name.Class
'\n'          Text

'datatype'    Name.Class
' '           Text
'('           Punctuation
"'0"          Name.Decorator
','           Punctuation
' '           Text
"'b"          Name.Decorator
','           Punctuation
' '           Text
"'_"          Name.Decorator
','           Punctuation
' '           Text
"'"           Name.Decorator
')'           Punctuation
' '           Text
"f'o'o"       Name
' '           Text
'='           Punctuation
' '           Text
'Bar'         Name
' '           Text
'|'           Punctuation
' '           Text
"baZ12'"      Name.Function
' '           Text
'|'           Punctuation
' '           Text
'dsfa_fad'    Name.Function
' '           Text
'|'           Punctuation
' '           Text
'#@$'         Name.Function
' '           Text
'|'           Punctuation
' '           Text
'Bug'         Name.Function
'\n'          Text

'and'         Keyword.Reserved
' '           Text
'('           Punctuation
"'"           Name.Decorator
','           Punctuation
' '           Text
"'''"         Name.Decorator
','           Punctuation
' '           Text
"''''"        Name.Decorator
','           Punctuation
' '           Text
"'''''"       Name.Decorator
')'           Punctuation
' '           Text
'bar'         Name.Function
' '           Text
'='           Punctuation
' \n   '      Text
'Bee'         Name
' '           Text
'of'          Keyword.Reserved
' '           Text
'unit'        Name
'\n '         Text
'|'           Punctuation
' '           Text
'Ben'         Name.Function
' '           Text
'of'          Keyword.Reserved
' '           Text
'('           Punctuation
"'"           Name.Decorator
','           Punctuation
' '           Text
"'''"         Name.Decorator
','           Punctuation
' '           Text
"''''"        Name.Decorator
','           Punctuation
' '           Text
"'''''"       Name.Decorator
')'           Punctuation
' '           Text
"f'o'o"       Name
' '           Text
'*'           Name
' '           Text
'int'         Name
'\n '         Text
'|'           Punctuation
' '           Text
'X'           Name.Function
' '           Text
'of'          Keyword.Reserved
' '           Text
"'''"         Name.Decorator
' '           Text
'list'        Name
'\n\n'        Text

'fun'         Keyword.Reserved
' '           Text
'q'           Name.Function
' '           Text
'x'           Name
' '           Text
'='           Punctuation
' '           Text
'raise'       Keyword.Reserved
' '           Text
'Foo'         Name
' '           Text
'x'           Name
'\n'          Text

'and'         Keyword.Reserved
' '           Text
'h'           Name.Function
' '           Text
'x'           Name
' '           Text
'='           Punctuation
' '           Text
'raise'       Keyword.Reserved
' '           Text
'Foo'         Name
' '           Text
'('           Punctuation
'~'           Name
'x'           Name
')'           Punctuation
'\n\n'        Text

'val'         Keyword.Reserved
' '           Text
'x'           Name.Variable
' '           Text
'='           Punctuation
' '           Text
'4'           Literal.Number.Integer
'\n'          Text

'and'         Keyword.Reserved
' '           Text
'y'           Name.Variable
' '           Text
'='           Punctuation
' '           Text
'5'           Literal.Number.Integer
'\n\n'        Text

'fun'         Keyword.Reserved
' '           Text
'q'           Name.Function
' '           Text
'0'           Literal.Number.Integer
' '           Text
'='           Punctuation
' '           Text
'4'           Literal.Number.Integer
'\n  '        Text
'|'           Punctuation
' '           Text
'q'           Name.Function
' '           Text
'1'           Literal.Number.Integer
' '           Text
'='           Punctuation
' '           Text
'('           Punctuation
'case'        Keyword.Reserved
' '           Text
'1'           Literal.Number.Integer
' '           Text
'of'          Keyword.Reserved
' '           Text
'1'           Literal.Number.Integer
' '           Text
'=>'          Punctuation
' '           Text
'2'           Literal.Number.Integer
' '           Text
'|'           Name
' '           Text
'3'           Literal.Number.Integer
' '           Text
'=>'          Punctuation
' '           Text
'4'           Literal.Number.Integer
' '           Text
'|'           Name
' '           Text
'x'           Name
' '           Text
'=>'          Punctuation
' '           Text
'y'           Name
')'           Punctuation
'\n  '        Text
'|'           Punctuation
' '           Text
'q'           Name.Function
' '           Text
'y'           Name
' '           Text
'='           Punctuation
' '           Text
'case'        Keyword.Reserved
' '           Text
'y'           Name
' '           Text
'of'          Keyword.Reserved
' '           Text
'1'           Literal.Number.Integer
' '           Text
'=>'          Punctuation
' '           Text
'2'           Literal.Number.Integer
' '           Text
'|'           Name
' '           Text
'3'           Literal.Number.Integer
' '           Text
'=>'          Punctuation
' '           Text
'4'           Literal.Number.Integer
' '           Text
'|'           Name
' '           Text
'x'           Name
' '           Text
'=>'          Punctuation
' '           Text
'y'           Name
'\n\n'        Text

'val'         Keyword.Reserved
' '           Text
'x'           Name.Variable
' '           Text
'='           Punctuation
' '           Text
'ref'         Name
' '           Text
'true'        Name
'\n'          Text

'fun'         Keyword.Reserved
' '           Text
'q'           Name.Function
' '           Text
'0'           Literal.Number.Integer
' '           Text
'='           Punctuation
' '           Text
'4'           Literal.Number.Integer
'\n  '        Text
'|'           Punctuation
' '           Text
'q'           Name.Function
' '           Text
'1'           Literal.Number.Integer
' '           Text
'='           Punctuation
' '           Text
'if'          Keyword.Reserved
' '           Text
'false'       Name
' '           Text
'then'        Keyword.Reserved
' '           Text
'case'        Keyword.Reserved
' '           Text
'1'           Literal.Number.Integer
' '           Text
'of'          Keyword.Reserved
' '           Text
'1'           Literal.Number.Integer
' '           Text
'=>'          Punctuation
' '           Text
'2'           Literal.Number.Integer
' '           Text
'|'           Name
' '           Text
'3'           Literal.Number.Integer
' '           Text
'=>'          Punctuation
' '           Text
'4'           Literal.Number.Integer
' '           Text
'|'           Name
' '           Text
'x'           Name
' '           Text
'=>'          Punctuation
' '           Text
'y'           Name
' '           Text
'else'        Keyword.Reserved
' '           Text
'19'          Literal.Number.Integer
'\n  '        Text
'|'           Punctuation
' '           Text
'q'           Name.Function
' '           Text
'2'           Literal.Number.Integer
' '           Text
'='           Punctuation
' '           Text
'('           Punctuation
'while'       Keyword.Reserved
' '           Text
'!'           Name
'x'           Name
' '           Text
'handle'      Keyword.Reserved
' '           Text
'Match'       Name
' '           Text
'=>'          Punctuation
' '           Text
'!'           Name
'x'           Name
' '           Text
'|'           Name
' '           Text
'Fail'        Name
' '           Text
'_'           Punctuation
' '           Text
'=>'          Punctuation
' '           Text
'!'           Name
'x'           Name
' '           Text
'do'          Keyword.Reserved
' '           Text
'('           Punctuation
')'           Punctuation
' '           Text
';'           Punctuation
' '           Text
'2'           Literal.Number.Integer
')'           Punctuation
'\n  '        Text
'|'           Punctuation
' '           Text
'q'           Name.Function
' '           Text
'x'           Name
' '           Text
'='           Punctuation
' '           Text
'('           Punctuation
'raise'       Keyword.Reserved
' '           Text
'Match'       Name
')'           Punctuation
' '           Text
'handle'      Keyword.Reserved
' '           Text
'Domain'      Name
' '           Text
'=>'          Punctuation
' '           Text
'9'           Literal.Number.Integer
' '           Text
'|'           Name
' '           Text
'Match'       Name
' '           Text
'=>'          Punctuation
' '           Text
'3'           Literal.Number.Integer
'\n\n'        Text

'fun'         Keyword.Reserved
' '           Text
'p'           Name.Function
' '           Text
'0'           Literal.Number.Integer
' '           Text
'='           Punctuation
' '           Text
'12'          Literal.Number.Integer
'\n  '        Text
'|'           Punctuation
' '           Text
'p'           Name.Function
' '           Text
'1'           Literal.Number.Integer
' '           Text
'='           Punctuation
' '           Text
'8'           Literal.Number.Integer
'\n  '        Text
'|'           Punctuation
' '           Text
'p'           Name.Function
' '           Text
'2'           Literal.Number.Integer
' '           Text
'='           Punctuation
' '           Text
'r'           Name
' '           Text
'false'       Name
'\n  '        Text
'|'           Punctuation
' '           Text
'p'           Name.Function
' '           Text
'x'           Name
' '           Text
'='           Punctuation
' '           Text
'r'           Name
' '           Text
'true'        Name
'\n'          Text

'and'         Keyword.Reserved
' '           Text
'r'           Name.Function
' '           Text
'true'        Name
' '           Text
'='           Punctuation
' '           Text
'19'          Literal.Number.Integer
'\n  '        Text
'|'           Punctuation
' '           Text
'r'           Name.Function
' '           Text
'false'       Name
' '           Text
'='           Punctuation
' '           Text
'12'          Literal.Number.Integer
'\n\n'        Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'123'         Literal.Number.Integer
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'0001'        Literal.Number.Integer
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'~123'        Literal.Number.Integer
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'~0001'       Literal.Number.Integer
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'0w12412'     Literal.Number.Integer
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'0w12412'     Literal.Number.Integer
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'0xfA0'       Literal.Number.Hex
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'~0xfA0'      Literal.Number.Hex
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'0wxfA0'      Literal.Number.Hex
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'1.4'         Literal.Number.Float
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'~1.4'        Literal.Number.Float
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'1e~2'        Literal.Number.Float
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'1E~2'        Literal.Number.Float
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'1e2'         Literal.Number.Float
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'1E2'         Literal.Number.Float
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'1.4e~2'      Literal.Number.Float
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'1.4E~2'      Literal.Number.Float
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'1.4e2'       Literal.Number.Float
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'1.4E2'       Literal.Number.Float
'\n\n'        Text

'val'         Keyword.Reserved
' '           Text
'c'           Name.Variable
' '           Text
'='           Punctuation
' '           Text
'#"'          Literal.String.Char
'\\000'       Literal.String.Escape
'"'           Literal.String.Char
'\n'          Text

'val'         Keyword.Reserved
' '           Text
'st'          Name.Variable
' '           Text
'='           Punctuation
' '           Text
'"'           Literal.String.Double
'f'           Literal.String.Double
'o'           Literal.String.Double
'o'           Literal.String.Double
' '           Literal.String.Double
'\\\n \t \\'  Literal.String.Interpol
' '           Literal.String.Double
'b'           Literal.String.Double
'a'           Literal.String.Double
'r'           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'^'           Name
' '           Text
'"'           Literal.String.Double
'b'           Literal.String.Double
'a'           Literal.String.Double
'z'           Literal.String.Double
' '           Literal.String.Double
'\\        \n  \t \\' Literal.String.Interpol
' '           Literal.String.Double
'a'           Literal.String.Double
'n'           Literal.String.Double
'd'           Literal.String.Double
' '           Literal.String.Double
'\\ \n   \t \\' Literal.String.Interpol
' '           Literal.String.Double
's'           Literal.String.Double
'u'           Literal.String.Double
'c'           Literal.String.Double
'h'           Literal.String.Double
'\\n'         Literal.String.Escape
'"'           Literal.String.Double
'\n\n'        Text

'val'         Keyword.Reserved
' '           Text
'('           Punctuation
')'           Punctuation
' '           Text
'='           Name.Variable
' '           Text
'print'       Name
' '           Text
'st'          Name
'\n\n'        Text

'val'         Keyword.Reserved
' '           Text
'_'           Punctuation
' '           Text
'='           Punctuation
' '           Text
'foo'         Name
'::'          Name
'bar'         Name
'::'          Name
'4'           Literal.Number.Integer
'::'          Name
'['           Punctuation
'++'          Name
']'           Punctuation
'\n\n'        Text

'end'         Keyword.Reserved
'\n'          Text
