'implement'   Keyword
' '           Text.Whitespace
'Ninewin'     Name
';'           Punctuation
'\n'          Text.Whitespace

'include'     Keyword
' '           Text.Whitespace
'"'           Literal.String
'sys.m'       Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'sys'         Name
':'           Operator
' '           Text.Whitespace
'Sys'         Name
';'           Punctuation
'\n'          Text.Whitespace

'include'     Keyword
' '           Text.Whitespace
'"'           Literal.String
'draw.m'      Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'draw'        Name
':'           Operator
' '           Text.Whitespace
'Draw'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Image'       Name
','           Punctuation
' '           Text.Whitespace
'Display'     Name
','           Punctuation
' '           Text.Whitespace
'Pointer'     Name
':'           Operator
' '           Text.Whitespace
'import'      Keyword
' '           Text.Whitespace
'draw'        Name
';'           Punctuation
'\n'          Text.Whitespace

'include'     Keyword
' '           Text.Whitespace
'"'           Literal.String
'arg.m'       Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'include'     Keyword
' '           Text.Whitespace
'"'           Literal.String
'keyboard.m'  Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'include'     Keyword
' '           Text.Whitespace
'"'           Literal.String
'tk.m'        Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'include'     Keyword
' '           Text.Whitespace
'"'           Literal.String
'wmclient.m'  Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'wmclient'    Name
':'           Operator
' '           Text.Whitespace
'Wmclient'    Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Window'      Name
':'           Operator
' '           Text.Whitespace
'import'      Keyword
' '           Text.Whitespace
'wmclient'    Name
';'           Punctuation
'\n'          Text.Whitespace

'include'     Keyword
' '           Text.Whitespace
'"'           Literal.String
'sh.m'        Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'sh'          Name
':'           Operator
' '           Text.Whitespace
'Sh'          Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'# run a p9 graphics program (default rio) under inferno wm,\n' Comment.Single

'# making available to it:\n' Comment.Single

'# /dev/winname - naming the current inferno window (changing on resize)\n' Comment.Single

'# /dev/mouse - pointer file + resize events; write to change position\n' Comment.Single

'# /dev/cursor - change appearance of cursor.\n' Comment.Single

'# /dev/draw - inferno draw device\n' Comment.Single

'# /dev/cons - read keyboard events, write to 9win stdout.\n' Comment.Single

'\n'          Text.Whitespace

'Ninewin'     Name
':'           Operator
' '           Text.Whitespace
'module'      Keyword.Type
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'init'        Name
':'           Operator
' '           Text.Whitespace
'fn'          Keyword.Type
'('           Punctuation
'ctxt'        Name
':'           Operator
' '           Text.Whitespace
'ref'         Keyword.Type
' '           Text.Whitespace
'Draw'        Name
'-'           Operator
'>'           Operator
'Context'     Name
','           Punctuation
' '           Text.Whitespace
'argv'        Name
':'           Operator
' '           Text.Whitespace
'list'        Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'string'      Keyword.Type
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'winname'     Name
':'           Operator
' '           Text.Whitespace
'string'      Keyword.Type
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'init'        Name
'('           Punctuation
'ctxt'        Name
':'           Operator
' '           Text.Whitespace
'ref'         Keyword.Type
' '           Text.Whitespace
'Draw'        Name
'-'           Operator
'>'           Operator
'Context'     Name
','           Punctuation
' '           Text.Whitespace
'argv'        Name
':'           Operator
' '           Text.Whitespace
'list'        Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'string'      Keyword.Type
')'           Punctuation
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'size'        Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'Draw'        Name
'-'           Operator
'>'           Operator
'Point'       Name
'('           Punctuation
'500'         Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'500'         Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'sys'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'load'        Keyword
' '           Text.Whitespace
'Sys'         Name
' '           Text.Whitespace
'Sys'         Name
'-'           Operator
'>'           Operator
'PATH'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'draw'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'load'        Keyword
' '           Text.Whitespace
'Draw'        Name
' '           Text.Whitespace
'Draw'        Name
'-'           Operator
'>'           Operator
'PATH'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'wmclient'    Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'load'        Keyword
' '           Text.Whitespace
'Wmclient'    Name
' '           Text.Whitespace
'Wmclient'    Name
'-'           Operator
'>'           Operator
'PATH'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'wmclient'    Name
'-'           Operator
'>'           Operator
'init'        Name
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'sh'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'load'        Keyword
' '           Text.Whitespace
'Sh'          Name
' '           Text.Whitespace
'Sh'          Name
'-'           Operator
'>'           Operator
'PATH'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'\t'          Text.Whitespace
'buts'        Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'Wmclient'    Name
'-'           Operator
'>'           Operator
'Resize'      Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'if'          Keyword
'('           Punctuation
'ctxt'        Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'ctxt'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'wmclient'    Name
'-'           Operator
'>'           Operator
'makedrawcontext' Name
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'buts'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Wmclient'    Name
'-'           Operator
'>'           Operator
'Plain'       Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'arg'         Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'load'        Keyword
' '           Text.Whitespace
'Arg'         Name
' '           Text.Whitespace
'Arg'         Name
'-'           Operator
'>'           Operator
'PATH'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'arg'         Name
'-'           Operator
'>'           Operator
'init'        Name
'('           Punctuation
'argv'        Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'arg'         Name
'-'           Operator
'>'           Operator
'setusage'    Name
'('           Punctuation
'"'           Literal.String
'9win [-s] [-x width] [-y height]' Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'exportonly'  Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'while'       Keyword
'('           Punctuation
'('           Punctuation
'('           Punctuation
'opt'         Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'arg'         Name
'-'           Operator
'>'           Operator
'opt'         Name
'('           Punctuation
')'           Punctuation
')'           Punctuation
')'           Punctuation
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'case'        Keyword
' '           Text.Whitespace
'opt'         Name
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
"'s'"         Literal.String.Char
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'exportonly'  Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'1'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
"'x'"         Literal.String.Char
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'size'        Name
'.'           Punctuation
'x'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'arg'         Name
'-'           Operator
'>'           Operator
'earg'        Name
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
"'y'"         Literal.String.Char
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'size'        Name
'.'           Punctuation
'y'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'arg'         Name
'-'           Operator
'>'           Operator
'earg'        Name
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'arg'         Name
'-'           Operator
'>'           Operator
'usage'       Name
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'if'          Keyword
'('           Punctuation
'size'        Name
'.'           Punctuation
'x'           Name
' '           Text.Whitespace
'<'           Operator
' '           Text.Whitespace
'1'           Literal.Number.Integer
' '           Text.Whitespace
'|'           Operator
'|'           Operator
' '           Text.Whitespace
'size'        Name
'.'           Punctuation
'y'           Name
' '           Text.Whitespace
'<'           Operator
' '           Text.Whitespace
'1'           Literal.Number.Integer
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'arg'         Name
'-'           Operator
'>'           Operator
'usage'       Name
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'argv'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'arg'         Name
'-'           Operator
'>'           Operator
'argv'        Name
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'if'          Keyword
'('           Punctuation
'argv'        Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
' '           Text.Whitespace
'&'           Operator
'&'           Operator
' '           Text.Whitespace
'hd'          Keyword
' '           Text.Whitespace
'argv'        Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'"'           Literal.String
'-s'          Literal.String
'"'           Literal.String
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'exportonly'  Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'1'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'argv'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'tl'          Keyword
' '           Text.Whitespace
'argv'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'if'          Keyword
'('           Punctuation
'argv'        Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
' '           Text.Whitespace
'&'           Operator
'&'           Operator
' '           Text.Whitespace
'!'           Operator
'exportonly'  Name
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'argv'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"'           Literal.String
'rio'         Literal.String
'"'           Literal.String
' '           Text.Whitespace
':'           Operator
':'           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'if'          Keyword
'('           Punctuation
'argv'        Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
' '           Text.Whitespace
'&'           Operator
'&'           Operator
' '           Text.Whitespace
'exportonly'  Name
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'fprint'      Name
'('           Punctuation
'sys'         Name
'-'           Operator
'>'           Operator
'fildes'      Name
'('           Punctuation
'2'           Literal.Number.Integer
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'9win: no command allowed with -s flag' Literal.String
'\\n'         Literal.String.Escape
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'raise'       Name
' '           Text.Whitespace
'"'           Literal.String
'fail:usage'  Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'title'       Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'"'           Literal.String
'9win'        Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'if'          Keyword
'('           Punctuation
'!'           Operator
'exportonly'  Name
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'title'       Name
' '           Text.Whitespace
'+'           Operator
'='           Operator
' '           Text.Whitespace
'"'           Literal.String
' '           Literal.String
'"'           Literal.String
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'hd'          Keyword
' '           Text.Whitespace
'argv'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'w'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'wmclient'    Name
'-'           Operator
'>'           Operator
'window'      Name
'('           Punctuation
'ctxt'        Name
','           Punctuation
' '           Text.Whitespace
'title'       Name
','           Punctuation
' '           Text.Whitespace
'buts'        Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'w'           Name
'.'           Punctuation
'reshape'     Name
'('           Punctuation
'('           Punctuation
'('           Punctuation
'0'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'size'        Name
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'w'           Name
'.'           Punctuation
'onscreen'    Name
'('           Punctuation
'nil'         Keyword.Constant
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'if'          Keyword
'('           Punctuation
'w'           Name
'.'           Punctuation
'image'       Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'fprint'      Name
'('           Punctuation
'sys'         Name
'-'           Operator
'>'           Operator
'fildes'      Name
'('           Punctuation
'2'           Literal.Number.Integer
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'9win: cannot get image to draw on' Literal.String
'\\n'         Literal.String.Escape
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'raise'       Name
' '           Text.Whitespace
'"'           Literal.String
'fail:no window' Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'\t'          Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'pctl'        Name
'('           Punctuation
'Sys'         Name
'-'           Operator
'>'           Operator
'FORKNS'      Name
'|'           Operator
'Sys'         Name
'-'           Operator
'>'           Operator
'NEWPGRP'     Name
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'ld'          Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'"'           Literal.String
'/n/9win'     Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'if'          Keyword
'('           Punctuation
'sys'         Name
'-'           Operator
'>'           Operator
'bind'        Name
'('           Punctuation
'"'           Literal.String
'#s'          Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'ld'          Name
','           Punctuation
' '           Text.Whitespace
'Sys'         Name
'-'           Operator
'>'           Operator
'MREPL'       Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'-'           Operator
'1'           Literal.Number.Integer
' '           Text.Whitespace
'&'           Operator
'&'           Operator
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'bind'        Name
'('           Punctuation
'"'           Literal.String
'#s'          Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'ld'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'"'           Literal.String
'/n/local'    Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'Sys'         Name
'-'           Operator
'>'           Operator
'MREPL'       Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'-'           Operator
'1'           Literal.Number.Integer
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'fprint'      Name
'('           Punctuation
'sys'         Name
'-'           Operator
'>'           Operator
'fildes'      Name
'('           Punctuation
'2'           Literal.Number.Integer
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'9win: cannot bind files: %r' Literal.String
'\\n'         Literal.String.Escape
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'raise'       Name
' '           Text.Whitespace
'"'           Literal.String
'fail:error'  Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'w'           Name
'.'           Punctuation
'startinput'  Name
'('           Punctuation
'"'           Literal.String
'kbd'         Literal.String
'"'           Literal.String
' '           Text.Whitespace
':'           Operator
':'           Operator
' '           Text.Whitespace
'"'           Literal.String
'ptr'         Literal.String
'"'           Literal.String
' '           Text.Whitespace
':'           Operator
':'           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'spawn'       Keyword
' '           Text.Whitespace
'ptrproc'     Name
'('           Punctuation
'rq'          Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'chan'        Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'Sys'         Name
'-'           Operator
'>'           Operator
'Rread'       Name
','           Punctuation
' '           Text.Whitespace
'ptr'         Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'chan'        Keyword.Type
'['           Punctuation
'10'          Literal.Number.Integer
']'           Punctuation
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'ref'         Keyword.Type
' '           Text.Whitespace
'Pointer'     Name
','           Punctuation
' '           Text.Whitespace
'reshape'     Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'chan'        Keyword.Type
'['           Punctuation
'1'           Literal.Number.Integer
']'           Punctuation
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'\t\t\n\t'    Text.Whitespace
'fwinname'    Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'file2chan'   Name
'('           Punctuation
'ld'          Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'winname'     Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'fconsctl'    Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'file2chan'   Name
'('           Punctuation
'ld'          Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'consctl'     Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'fcons'       Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'file2chan'   Name
'('           Punctuation
'ld'          Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'cons'        Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'fmouse'      Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'file2chan'   Name
'('           Punctuation
'ld'          Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'mouse'       Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'fcursor'     Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'file2chan'   Name
'('           Punctuation
'ld'          Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'cursor'      Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'if'          Keyword
'('           Punctuation
'!'           Operator
'exportonly'  Name
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'spawn'       Keyword
' '           Text.Whitespace
'run'         Name
'('           Punctuation
'sync'        Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'chan'        Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'string'      Keyword.Type
','           Punctuation
' '           Text.Whitespace
'w'           Name
'.'           Punctuation
'ctl'         Name
','           Punctuation
' '           Text.Whitespace
'ld'          Name
','           Punctuation
' '           Text.Whitespace
'argv'        Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
'('           Punctuation
'('           Punctuation
'e'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'sync'        Name
')'           Punctuation
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'fprint'      Name
'('           Punctuation
'sys'         Name
'-'           Operator
'>'           Operator
'fildes'      Name
'('           Punctuation
'2'           Literal.Number.Integer
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'9win: %s'    Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'e'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'raise'       Name
' '           Text.Whitespace
'"'           Literal.String
'fail:error'  Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'spawn'       Keyword
' '           Text.Whitespace
'serveproc'   Name
'('           Punctuation
'w'           Name
','           Punctuation
' '           Text.Whitespace
'rq'          Name
','           Punctuation
' '           Text.Whitespace
'fwinname'    Name
','           Punctuation
' '           Text.Whitespace
'fconsctl'    Name
','           Punctuation
' '           Text.Whitespace
'fcons'       Name
','           Punctuation
' '           Text.Whitespace
'fmouse'      Name
','           Punctuation
' '           Text.Whitespace
'fcursor'     Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'if'          Keyword
'('           Punctuation
'!'           Operator
'exportonly'  Name
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'# handle events synchronously so that we don\'t get a "killed" message\n' Comment.Single

'\t\t'        Text.Whitespace
'# from the shell.\n' Comment.Single

'\t\t'        Text.Whitespace
'handleevents' Name
'('           Punctuation
'w'           Name
','           Punctuation
' '           Text.Whitespace
'ptr'         Name
','           Punctuation
' '           Text.Whitespace
'reshape'     Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'}'           Punctuation
'else'        Keyword
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'spawn'       Keyword
' '           Text.Whitespace
'handleevents' Name
'('           Punctuation
'w'           Name
','           Punctuation
' '           Text.Whitespace
'ptr'         Name
','           Punctuation
' '           Text.Whitespace
'reshape'     Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'bind'        Name
'('           Punctuation
'ld'          Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'/dev'        Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'Sys'         Name
'-'           Operator
'>'           Operator
'MBEFORE'     Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'export'      Name
'('           Punctuation
'sys'         Name
'-'           Operator
'>'           Operator
'fildes'      Name
'('           Punctuation
'0'           Literal.Number.Integer
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'w'           Name
'.'           Punctuation
'ctl'         Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'handleevents' Name
'('           Punctuation
'w'           Name
':'           Operator
' '           Text.Whitespace
'ref'         Keyword.Type
' '           Text.Whitespace
'Window'      Name
','           Punctuation
' '           Text.Whitespace
'ptr'         Name
':'           Operator
' '           Text.Whitespace
'chan'        Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'ref'         Keyword.Type
' '           Text.Whitespace
'Pointer'     Name
','           Punctuation
' '           Text.Whitespace
'reshape'     Name
':'           Operator
' '           Text.Whitespace
'chan'        Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
')'           Punctuation
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'for'         Name
'('           Punctuation
';'           Punctuation
';'           Punctuation
')'           Punctuation
'alt'         Keyword
'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'c'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'w'           Name
'.'           Punctuation
'ctxt'        Name
'.'           Punctuation
'ctl'         Name
' '           Text.Whitespace
'or'          Name
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'c'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'w'           Name
'.'           Punctuation
'ctl'         Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'e'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'w'           Name
'.'           Punctuation
'wmctl'       Name
'('           Punctuation
'c'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
'('           Punctuation
'e'           Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'fprint'      Name
'('           Punctuation
'sys'         Name
'-'           Operator
'>'           Operator
'fildes'      Name
'('           Punctuation
'2'           Literal.Number.Integer
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'9win: ctl error: %s' Literal.String
'\\n'         Literal.String.Escape
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'e'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
'('           Punctuation
'e'           Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
' '           Text.Whitespace
'&'           Operator
'&'           Operator
' '           Text.Whitespace
'c'           Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
' '           Text.Whitespace
'&'           Operator
'&'           Operator
' '           Text.Whitespace
'c'           Name
'['           Punctuation
'0'           Literal.Number.Integer
']'           Punctuation
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
"'!'"         Literal.String.Char
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'alt'         Keyword
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'reshape'     Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'1'           Literal.Number.Integer
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'winname'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'p'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'w'           Name
'.'           Punctuation
'ctxt'        Name
'.'           Punctuation
'ptr'         Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
'('           Punctuation
'w'           Name
'.'           Punctuation
'pointer'     Name
'('           Punctuation
'*'           Operator
'p'           Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
"# XXX would block here if client isn't reading mouse... but we do want to\n" Comment.Single

'\t\t\t'      Text.Whitespace
'# extert back-pressure, which conflicts.\n' Comment.Single

'\t\t\t'      Text.Whitespace
'alt'         Keyword
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'ptr'         Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'p'           Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
';'           Punctuation
' '           Text.Whitespace
'# sys->fprint(sys->fildes(2), "9win: discarding mouse event\\n");\n' Comment.Single

'\t\t\t'      Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'serveproc'   Name
'('           Punctuation
'w'           Name
':'           Operator
' '           Text.Whitespace
'ref'         Keyword.Type
' '           Text.Whitespace
'Window'      Name
','           Punctuation
' '           Text.Whitespace
'mouserq'     Name
':'           Operator
' '           Text.Whitespace
'chan'        Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'Sys'         Name
'-'           Operator
'>'           Operator
'Rread'       Name
','           Punctuation
' '           Text.Whitespace
'fwinname'    Name
','           Punctuation
' '           Text.Whitespace
'fconsctl'    Name
','           Punctuation
' '           Text.Whitespace
'fcons'       Name
','           Punctuation
' '           Text.Whitespace
'fmouse'      Name
','           Punctuation
' '           Text.Whitespace
'fcursor'     Name
':'           Operator
' '           Text.Whitespace
'ref'         Keyword.Type
' '           Text.Whitespace
'Sys'         Name
'-'           Operator
'>'           Operator
'FileIO'      Name
')'           Punctuation
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'winid'       Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'krc'         Name
':'           Operator
' '           Text.Whitespace
'list'        Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'Sys'         Name
'-'           Operator
'>'           Operator
'Rread'       Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'ks'          Name
':'           Operator
' '           Text.Whitespace
'string'      Keyword.Type
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'\t'          Text.Whitespace
'for'         Name
'('           Punctuation
';'           Punctuation
';'           Punctuation
')'           Punctuation
'alt'         Keyword
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'c'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'w'           Name
'.'           Punctuation
'ctxt'        Name
'.'           Punctuation
'kbd'         Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'ks'          Name
'['           Punctuation
'len'         Keyword
' '           Text.Whitespace
'ks'          Name
']'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'inf2p9key'   Name
'('           Punctuation
'c'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
'('           Punctuation
'krc'         Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'hd'          Keyword
' '           Text.Whitespace
'krc'         Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'array'       Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'byte'        Keyword.Type
' '           Text.Whitespace
'ks'          Name
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'ks'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'krc'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'tl'          Keyword
' '           Text.Whitespace
'krc'         Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'('           Punctuation
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'd'           Name
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'wc'          Name
')'           Punctuation
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'fcons'       Name
'.'           Punctuation
'write'       Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
'('           Punctuation
'wc'          Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'write'       Name
'('           Punctuation
'sys'         Name
'-'           Operator
'>'           Operator
'fildes'      Name
'('           Punctuation
'1'           Literal.Number.Integer
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'd'           Name
','           Punctuation
' '           Text.Whitespace
'len'         Keyword
' '           Text.Whitespace
'd'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'wc'          Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'len'         Keyword
' '           Text.Whitespace
'd'           Name
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'('           Punctuation
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'rc'          Name
')'           Punctuation
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'fcons'       Name
'.'           Punctuation
'read'        Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
'('           Punctuation
'rc'          Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'if'          Keyword
'('           Punctuation
'ks'          Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'rc'          Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'array'       Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'byte'        Keyword.Type
' '           Text.Whitespace
'ks'          Name
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'ks'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'}'           Punctuation
'else'        Keyword
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'krc'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'rc'          Name
' '           Text.Whitespace
':'           Operator
':'           Operator
' '           Text.Whitespace
'krc'         Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'('           Punctuation
'offset'      Name
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'rc'          Name
')'           Punctuation
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'fwinname'    Name
'.'           Punctuation
'read'        Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
'('           Punctuation
'rc'          Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'if'          Keyword
'('           Punctuation
'winname'     Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'winname'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'sprint'      Name
'('           Punctuation
'"'           Literal.String
'noborder.9win.%d' Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'winid'       Name
'+'           Operator
'+'           Operator
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'if'          Keyword
'('           Punctuation
'w'           Name
'.'           Punctuation
'image'       Name
'.'           Punctuation
'name'        Name
'('           Punctuation
'winname'     Name
','           Punctuation
' '           Text.Whitespace
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'-'           Operator
'1'           Literal.Number.Integer
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t\t'  Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'fprint'      Name
'('           Punctuation
'sys'         Name
'-'           Operator
'>'           Operator
'fildes'      Name
'('           Punctuation
'2'           Literal.Number.Integer
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'9win: namewin %q failed: %r' Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'winname'     Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t\t'  Text.Whitespace
'rc'          Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'namewin failure' Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t\t'  Text.Whitespace
'break'       Keyword
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'd'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'array'       Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'byte'        Keyword.Type
' '           Text.Whitespace
'winname'     Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'if'          Keyword
'('           Punctuation
'offset'      Name
' '           Text.Whitespace
'<'           Operator
' '           Text.Whitespace
'len'         Keyword
' '           Text.Whitespace
'd'           Name
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'd'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'd'           Name
'['           Punctuation
'offset'      Name
':'           Operator
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'else'        Keyword
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'd'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'rc'          Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'd'           Name
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'('           Punctuation
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'wc'          Name
')'           Punctuation
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'fwinname'    Name
'.'           Punctuation
'write'       Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
'('           Punctuation
'wc'          Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'wc'          Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'-'           Operator
'1'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'permission denied' Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'('           Punctuation
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'rc'          Name
')'           Punctuation
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'fconsctl'    Name
'.'           Punctuation
'read'        Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
'('           Punctuation
'rc'          Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'rc'          Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'permission denied' Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'('           Punctuation
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'd'           Name
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'wc'          Name
')'           Punctuation
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'fconsctl'    Name
'.'           Punctuation
'write'       Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
'('           Punctuation
'wc'          Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'if'          Keyword
'('           Punctuation
'string'      Keyword.Type
' '           Text.Whitespace
'd'           Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'"'           Literal.String
'rawon'       Literal.String
'"'           Literal.String
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'wc'          Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'-'           Operator
'1'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'cannot change console mode' Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'else'        Keyword
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'wc'          Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'len'         Keyword
' '           Text.Whitespace
'd'           Name
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'('           Punctuation
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'rc'          Name
')'           Punctuation
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'fmouse'      Name
'.'           Punctuation
'read'        Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
'('           Punctuation
'rc'          Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'mouserq'     Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'rc'          Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'('           Punctuation
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'd'           Name
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'wc'          Name
')'           Punctuation
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'fmouse'      Name
'.'           Punctuation
'write'       Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
'('           Punctuation
'wc'          Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'e'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'cursorset'   Name
'('           Punctuation
'w'           Name
','           Punctuation
' '           Text.Whitespace
'string'      Keyword.Type
' '           Text.Whitespace
'd'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'if'          Keyword
'('           Punctuation
'e'           Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'wc'          Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'len'         Keyword
' '           Text.Whitespace
'd'           Name
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'else'        Keyword
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'wc'          Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'-'           Operator
'1'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'e'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'('           Punctuation
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'rc'          Name
')'           Punctuation
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'fcursor'     Name
'.'           Punctuation
'read'        Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
'('           Punctuation
'rc'          Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'rc'          Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'permission denied' Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'('           Punctuation
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'd'           Name
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'wc'          Name
')'           Punctuation
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'fcursor'     Name
'.'           Punctuation
'write'       Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
'('           Punctuation
'wc'          Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'e'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'cursorswitch' Name
'('           Punctuation
'w'           Name
','           Punctuation
' '           Text.Whitespace
'd'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'if'          Keyword
'('           Punctuation
'e'           Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'wc'          Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'len'         Keyword
' '           Text.Whitespace
'd'           Name
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'else'        Keyword
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'wc'          Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'-'           Operator
'1'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'e'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'ptrproc'     Name
'('           Punctuation
'rq'          Name
':'           Operator
' '           Text.Whitespace
'chan'        Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'Sys'         Name
'-'           Operator
'>'           Operator
'Rread'       Name
','           Punctuation
' '           Text.Whitespace
'ptr'         Name
':'           Operator
' '           Text.Whitespace
'chan'        Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'ref'         Keyword.Type
' '           Text.Whitespace
'Pointer'     Name
','           Punctuation
' '           Text.Whitespace
'reshape'     Name
':'           Operator
' '           Text.Whitespace
'chan'        Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'int'         Keyword.Type
')'           Punctuation
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'rl'          Name
':'           Operator
' '           Text.Whitespace
'list'        Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'Sys'         Name
'-'           Operator
'>'           Operator
'Rread'       Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'c'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'ref'         Keyword.Type
' '           Text.Whitespace
'Pointer'     Name
'('           Punctuation
'0'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'('           Punctuation
'0'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'for'         Name
'('           Punctuation
';'           Punctuation
';'           Punctuation
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'ch'          Name
':'           Operator
' '           Text.Whitespace
'int'         Keyword.Type
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'alt'         Keyword
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'p'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'ptr'         Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'ch'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
"'m'"         Literal.String.Char
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'c'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'p'           Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'<'           Operator
'-'           Operator
'reshape'     Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'ch'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
"'r'"         Literal.String.Char
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'rc'          Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'rq'          Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'rl'          Name
'  '          Text.Whitespace
'='           Operator
' '           Text.Whitespace
'rc'          Name
' '           Text.Whitespace
':'           Operator
':'           Operator
' '           Text.Whitespace
'rl'          Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'continue'    Keyword
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
'('           Punctuation
'rl'          Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'rl'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'rq'          Name
' '           Text.Whitespace
':'           Operator
':'           Operator
' '           Text.Whitespace
'rl'          Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'hd'          Keyword
' '           Text.Whitespace
'rl'          Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'('           Punctuation
'sys'         Name
'-'           Operator
'>'           Operator
'aprint'      Name
'('           Punctuation
'"'           Literal.String
'%c%11d %11d %11d %11d ' Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'ch'          Name
','           Punctuation
' '           Text.Whitespace
'c'           Name
'.'           Punctuation
'xy'          Name
'.'           Punctuation
'x'           Name
','           Punctuation
' '           Text.Whitespace
'c'           Name
'.'           Punctuation
'xy'          Name
'.'           Punctuation
'y'           Name
','           Punctuation
' '           Text.Whitespace
'c'           Name
'.'           Punctuation
'buttons'     Name
','           Punctuation
' '           Text.Whitespace
'c'           Name
'.'           Punctuation
'msec'        Name
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'rl'          Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'tl'          Keyword
' '           Text.Whitespace
'rl'          Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'cursorset'   Name
'('           Punctuation
'w'           Name
':'           Operator
' '           Text.Whitespace
'ref'         Keyword.Type
' '           Text.Whitespace
'Window'      Name
','           Punctuation
' '           Text.Whitespace
'm'           Name
':'           Operator
' '           Text.Whitespace
'string'      Keyword.Type
')'           Punctuation
':'           Operator
' '           Text.Whitespace
'string'      Keyword.Type
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'if'          Keyword
'('           Punctuation
'm'           Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
' '           Text.Whitespace
'|'           Operator
'|'           Operator
' '           Text.Whitespace
'm'           Name
'['           Punctuation
'0'           Literal.Number.Integer
']'           Punctuation
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
"'m'"         Literal.String.Char
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'"'           Literal.String
'invalid mouse message' Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'x'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'm'           Name
'['           Punctuation
'1'           Literal.Number.Integer
':'           Operator
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'for'         Name
'('           Punctuation
'i'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'1'           Literal.Number.Integer
';'           Punctuation
' '           Text.Whitespace
'i'           Name
' '           Text.Whitespace
'<'           Operator
' '           Text.Whitespace
'len'         Keyword
' '           Text.Whitespace
'm'           Name
';'           Punctuation
' '           Text.Whitespace
'i'           Name
'+'           Operator
'+'           Operator
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
'('           Punctuation
'm'           Name
'['           Punctuation
'i'           Name
']'           Punctuation
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
"' '"         Literal.String.Char
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'while'       Keyword
'('           Punctuation
'm'           Name
'['           Punctuation
'i'           Name
']'           Punctuation
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
"' '"         Literal.String.Char
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'i'           Name
'+'           Operator
'+'           Operator
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'break'       Keyword
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'if'          Keyword
'('           Punctuation
'i'           Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'len'         Keyword
' '           Text.Whitespace
'm'           Name
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'"'           Literal.String
'invalid mouse message' Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'y'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'm'           Name
'['           Punctuation
'i'           Name
':'           Operator
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'w'           Name
'.'           Punctuation
'wmctl'       Name
'('           Punctuation
'sys'         Name
'-'           Operator
'>'           Operator
'sprint'      Name
'('           Punctuation
'"'           Literal.String
'ptr %d %d'   Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'x'           Name
','           Punctuation
' '           Text.Whitespace
'y'           Name
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'cursorswitch' Name
'('           Punctuation
'w'           Name
':'           Operator
' '           Text.Whitespace
'ref'         Keyword.Type
' '           Text.Whitespace
'Window'      Name
','           Punctuation
' '           Text.Whitespace
'd'           Name
':'           Operator
' '           Text.Whitespace
'array'       Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'byte'        Keyword.Type
')'           Punctuation
':'           Operator
' '           Text.Whitespace
'string'      Keyword.Type
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Hex'         Name
':'           Operator
' '           Text.Whitespace
'con'         Keyword.Constant
' '           Text.Whitespace
'"'           Literal.String
'0123456789abcdef' Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'if'          Keyword
'('           Punctuation
'len'         Keyword
' '           Text.Whitespace
'd'           Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'2'           Literal.Number.Integer
'*'           Operator
'4'           Literal.Number.Integer
'+'           Operator
'64'          Literal.Number.Integer
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'w'           Name
'.'           Punctuation
'wmctl'       Name
'('           Punctuation
'"'           Literal.String
'cursor'      Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'hot'         Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'Draw'        Name
'-'           Operator
'>'           Operator
'Point'       Name
'('           Punctuation
'bglong'      Name
'('           Punctuation
'd'           Name
','           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
'*'           Operator
'4'           Literal.Number.Integer
')'           Punctuation
','           Punctuation
' '           Text.Whitespace
'bglong'      Name
'('           Punctuation
'd'           Name
','           Punctuation
' '           Text.Whitespace
'1'           Literal.Number.Integer
'*'           Operator
'4'           Literal.Number.Integer
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
's'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'sprint'      Name
'('           Punctuation
'"'           Literal.String
'cursor %d %d 16 32 ' Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'hot'         Name
'.'           Punctuation
'x'           Name
','           Punctuation
' '           Text.Whitespace
'hot'         Name
'.'           Punctuation
'y'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'for'         Name
'('           Punctuation
'i'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'2'           Literal.Number.Integer
'*'           Operator
'4'           Literal.Number.Integer
';'           Punctuation
' '           Text.Whitespace
'i'           Name
' '           Text.Whitespace
'<'           Operator
' '           Text.Whitespace
'len'         Keyword
' '           Text.Whitespace
'd'           Name
';'           Punctuation
' '           Text.Whitespace
'i'           Name
'+'           Operator
'+'           Operator
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'c'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'd'           Name
'['           Punctuation
'i'           Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
's'           Name
'['           Punctuation
'len'         Keyword
' '           Text.Whitespace
's'           Name
']'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Hex'         Name
'['           Punctuation
'c'           Name
' '           Text.Whitespace
'>'           Operator
'>'           Operator
' '           Text.Whitespace
'4'           Literal.Number.Integer
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
's'           Name
'['           Punctuation
'len'         Keyword
' '           Text.Whitespace
's'           Name
']'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'Hex'         Name
'['           Punctuation
'c'           Name
' '           Text.Whitespace
'&'           Operator
' '           Text.Whitespace
'16rf'        Literal.Number.Hex
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'w'           Name
'.'           Punctuation
'wmctl'       Name
'('           Punctuation
's'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'run'         Name
'('           Punctuation
'sync'        Name
','           Punctuation
' '           Text.Whitespace
'ctl'         Name
':'           Operator
' '           Text.Whitespace
'chan'        Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'string'      Keyword.Type
','           Punctuation
' '           Text.Whitespace
'ld'          Name
':'           Operator
' '           Text.Whitespace
'string'      Keyword.Type
','           Punctuation
' '           Text.Whitespace
'argv'        Name
':'           Operator
' '           Text.Whitespace
'list'        Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'string'      Keyword.Type
')'           Punctuation
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Rcmeta'      Name
':'           Operator
' '           Text.Whitespace
'con'         Keyword.Constant
' '           Text.Whitespace
'"'           Literal.String
'|<>&^*[]?();' Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'pctl'        Name
'('           Punctuation
'Sys'         Name
'-'           Operator
'>'           Operator
'FORKNS'      Name
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'if'          Keyword
'('           Punctuation
'sys'         Name
'-'           Operator
'>'           Operator
'bind'        Name
'('           Punctuation
'"'           Literal.String
'#₪'          Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'/srv'        Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'Sys'         Name
'-'           Operator
'>'           Operator
'MCREATE'     Name
')'           Punctuation
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'-'           Operator
'1'           Literal.Number.Integer
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'sync'        Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'sprint'      Name
'('           Punctuation
'"'           Literal.String
'cannot bind srv device: %r' Literal.String
'"'           Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'exit'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'srvname'     Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'"'           Literal.String
'/srv/9win.'  Literal.String
'"'           Literal.String
'+'           Operator
'string'      Keyword.Type
' '           Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'pctl'        Name
'('           Punctuation
'0'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
';'           Punctuation
'\t'          Text.Whitespace
'# XXX do better.\n' Comment.Single

'\t'          Text.Whitespace
'fd'          Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'create'      Name
'('           Punctuation
'srvname'     Name
','           Punctuation
' '           Text.Whitespace
'Sys'         Name
'-'           Operator
'>'           Operator
'ORDWR'       Name
','           Punctuation
' '           Text.Whitespace
'8r600'       Literal.Number.Oct
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'if'          Keyword
'('           Punctuation
'fd'          Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'sync'        Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'sprint'      Name
'('           Punctuation
'"'           Literal.String
'cannot create %s: %r' Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'srvname'     Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'exit'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'sync'        Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'spawn'       Keyword
' '           Text.Whitespace
'export'      Name
'('           Punctuation
'fd'          Name
','           Punctuation
' '           Text.Whitespace
'ctl'         Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'sh'          Name
'-'           Operator
'>'           Operator
'run'         Name
'('           Punctuation
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'os'          Literal.String
'"'           Literal.String
' '           Text.Whitespace
':'           Operator
':'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'"'           Literal.String
'rc'          Literal.String
'"'           Literal.String
' '           Text.Whitespace
':'           Operator
':'           Operator
' '           Text.Whitespace
'"'           Literal.String
'-c'          Literal.String
'"'           Literal.String
' '           Text.Whitespace
':'           Operator
':'           Operator
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'"'           Literal.String
'mount '      Literal.String
'"'           Literal.String
'+'           Operator
'srvname'     Name
'+'           Operator
'"'           Literal.String
' /mnt/term;' Literal.String
'"'           Literal.String
'+'           Operator
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'"'           Literal.String
'rm '         Literal.String
'"'           Literal.String
'+'           Operator
'srvname'     Name
'+'           Operator
'"'           Literal.String
';'           Literal.String
'"'           Literal.String
'+'           Operator
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'"'           Literal.String
'bind -b /mnt/term' Literal.String
'"'           Literal.String
'+'           Operator
'ld'          Name
'+'           Operator
'"'           Literal.String
' /dev;'      Literal.String
'"'           Literal.String
'+'           Operator
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'"'           Literal.String
'bind /mnt/term/dev/draw /dev/draw ||' Literal.String
'"'           Literal.String
'+'           Operator
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'"'           Literal.String
'bind -a /mnt/term/dev /dev;' Literal.String
'"'           Literal.String
'+'           Operator
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'quotedc'     Name
'('           Punctuation
'"'           Literal.String
'cd'          Literal.String
'"'           Literal.String
':'           Operator
':'           Operator
'"'           Literal.String
'/mnt/term'   Literal.String
'"'           Literal.String
'+'           Operator
'cwd'         Name
'('           Punctuation
')'           Punctuation
':'           Operator
':'           Operator
'nil'         Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'Rcmeta'      Name
')'           Punctuation
'+'           Operator
'"'           Literal.String
';'           Literal.String
'"'           Literal.String
'+'           Operator
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'quotedc'     Name
'('           Punctuation
'argv'        Name
','           Punctuation
' '           Text.Whitespace
'Rcmeta'      Name
')'           Punctuation
'+'           Operator
'"'           Literal.String
';'           Literal.String
'"'           Literal.String
':'           Operator
':'           Operator
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'nil'         Keyword.Constant
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'export'      Name
'('           Punctuation
'fd'          Name
':'           Operator
' '           Text.Whitespace
'ref'         Keyword.Type
' '           Text.Whitespace
'Sys'         Name
'-'           Operator
'>'           Operator
'FD'          Name
','           Punctuation
' '           Text.Whitespace
'ctl'         Name
':'           Operator
' '           Text.Whitespace
'chan'        Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'string'      Keyword.Type
')'           Punctuation
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'export'      Name
'('           Punctuation
'fd'          Name
','           Punctuation
' '           Text.Whitespace
'"'           Literal.String
'/'           Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'Sys'         Name
'-'           Operator
'>'           Operator
'EXPWAIT'     Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'ctl'         Name
' '           Text.Whitespace
'<'           Operator
'-'           Operator
'='           Operator
' '           Text.Whitespace
'"'           Literal.String
'exit'        Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'inf2p9key'   Name
'('           Punctuation
'c'           Name
':'           Operator
' '           Text.Whitespace
'int'         Keyword.Type
')'           Punctuation
':'           Operator
' '           Text.Whitespace
'int'         Keyword.Type
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'KF'          Name
':'           Operator
' '           Text.Whitespace
'import'      Keyword
' '           Text.Whitespace
'Keyboard'    Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'\t'          Text.Whitespace
'P9KF'        Name
':'           Operator
' '           Text.Whitespace
'con'         Keyword.Constant
'\t'          Text.Whitespace
'16rF000'     Literal.Number.Hex
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Spec'        Name
':'           Operator
' '           Text.Whitespace
'con'         Keyword.Constant
'\t'          Text.Whitespace
'16rF800'     Literal.Number.Hex
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Khome'       Name
':'           Operator
' '           Text.Whitespace
'con'         Keyword.Constant
'\t'          Text.Whitespace
'P9KF'        Name
'|'           Operator
'16r0D'       Literal.Number.Hex
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Kup'         Name
':'           Operator
' '           Text.Whitespace
'con'         Keyword.Constant
'\t'          Text.Whitespace
'P9KF'        Name
'|'           Operator
'16r0E'       Literal.Number.Hex
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Kpgup'       Name
':'           Operator
' '           Text.Whitespace
'con'         Keyword.Constant
'\t'          Text.Whitespace
'P9KF'        Name
'|'           Operator
'16r0F'       Literal.Number.Hex
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Kprint'      Name
':'           Operator
' '           Text.Whitespace
'con'         Keyword.Constant
'\t'          Text.Whitespace
'P9KF'        Name
'|'           Operator
'16r10'       Literal.Number.Hex
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Kleft'       Name
':'           Operator
' '           Text.Whitespace
'con'         Keyword.Constant
'\t'          Text.Whitespace
'P9KF'        Name
'|'           Operator
'16r11'       Literal.Number.Hex
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Kright'      Name
':'           Operator
' '           Text.Whitespace
'con'         Keyword.Constant
'\t'          Text.Whitespace
'P9KF'        Name
'|'           Operator
'16r12'       Literal.Number.Hex
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Kdown'       Name
':'           Operator
' '           Text.Whitespace
'con'         Keyword.Constant
'\t'          Text.Whitespace
'Spec'        Name
'|'           Operator
'16r00'       Literal.Number.Hex
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Kview'       Name
':'           Operator
' '           Text.Whitespace
'con'         Keyword.Constant
'\t'          Text.Whitespace
'Spec'        Name
'|'           Operator
'16r00'       Literal.Number.Hex
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Kpgdown'     Name
':'           Operator
' '           Text.Whitespace
'con'         Keyword.Constant
'\t'          Text.Whitespace
'P9KF'        Name
'|'           Operator
'16r13'       Literal.Number.Hex
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Kins'        Name
':'           Operator
' '           Text.Whitespace
'con'         Keyword.Constant
'\t'          Text.Whitespace
'P9KF'        Name
'|'           Operator
'16r14'       Literal.Number.Hex
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Kend'        Name
':'           Operator
' '           Text.Whitespace
'con'         Keyword.Constant
'\t'          Text.Whitespace
'P9KF'        Name
'|'           Operator
'16r18'       Literal.Number.Hex
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Kalt'        Name
':'           Operator
' '           Text.Whitespace
'con'         Keyword.Constant
'\t\t'        Text.Whitespace
'P9KF'        Name
'|'           Operator
'16r15'       Literal.Number.Hex
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Kshift'      Name
':'           Operator
' '           Text.Whitespace
'con'         Keyword.Constant
'\t'          Text.Whitespace
'P9KF'        Name
'|'           Operator
'16r16'       Literal.Number.Hex
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Kctl'        Name
':'           Operator
' '           Text.Whitespace
'con'         Keyword.Constant
'\t\t'        Text.Whitespace
'P9KF'        Name
'|'           Operator
'16r17'       Literal.Number.Hex
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'\t'          Text.Whitespace
'case'        Keyword
' '           Text.Whitespace
'c'           Name
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Keyboard'    Name
'-'           Operator
'>'           Operator
'LShift'      Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'Kshift'      Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Keyboard'    Name
'-'           Operator
'>'           Operator
'LCtrl'       Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'Kctl'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Keyboard'    Name
'-'           Operator
'>'           Operator
'LAlt'        Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'Kalt'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Keyboard'    Name
'-'           Operator
'>'           Operator
'Home'        Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'Khome'       Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Keyboard'    Name
'-'           Operator
'>'           Operator
'End'         Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'Kend'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Keyboard'    Name
'-'           Operator
'>'           Operator
'Up'          Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'Kup'         Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Keyboard'    Name
'-'           Operator
'>'           Operator
'Down'        Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'Kdown'       Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Keyboard'    Name
'-'           Operator
'>'           Operator
'Left'        Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'Kleft'       Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Keyboard'    Name
'-'           Operator
'>'           Operator
'Right'       Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'Kright'      Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Keyboard'    Name
'-'           Operator
'>'           Operator
'Pgup'        Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'Kpgup'       Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Keyboard'    Name
'-'           Operator
'>'           Operator
'Pgdown'      Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'Kpgdown'     Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Keyboard'    Name
'-'           Operator
'>'           Operator
'Ins'         Name
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'Kins'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'\t'          Text.Whitespace
'# function keys\n' Comment.Single

'\t'          Text.Whitespace
'KF'          Name
'|'           Operator
'1'           Literal.Number.Integer
' '           Text.Whitespace
'or'          Name
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'KF'          Name
'|'           Operator
'2'           Literal.Number.Integer
' '           Text.Whitespace
'or'          Name
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'KF'          Name
'|'           Operator
'3'           Literal.Number.Integer
' '           Text.Whitespace
'or'          Name
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'KF'          Name
'|'           Operator
'4'           Literal.Number.Integer
' '           Text.Whitespace
'or'          Name
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'KF'          Name
'|'           Operator
'5'           Literal.Number.Integer
' '           Text.Whitespace
'or'          Name
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'KF'          Name
'|'           Operator
'6'           Literal.Number.Integer
' '           Text.Whitespace
'or'          Name
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'KF'          Name
'|'           Operator
'7'           Literal.Number.Integer
' '           Text.Whitespace
'or'          Name
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'KF'          Name
'|'           Operator
'8'           Literal.Number.Integer
' '           Text.Whitespace
'or'          Name
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'KF'          Name
'|'           Operator
'9'           Literal.Number.Integer
' '           Text.Whitespace
'or'          Name
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'KF'          Name
'|'           Operator
'10'          Literal.Number.Integer
' '           Text.Whitespace
'or'          Name
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'KF'          Name
'|'           Operator
'11'          Literal.Number.Integer
' '           Text.Whitespace
'or'          Name
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'KF'          Name
'|'           Operator
'12'          Literal.Number.Integer
' '           Text.Whitespace
'='           Operator
'>'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'('           Punctuation
'c'           Name
' '           Text.Whitespace
'-'           Operator
' '           Text.Whitespace
'KF'          Name
')'           Punctuation
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'P9KF'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'c'           Name
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'cwd'         Name
'('           Punctuation
')'           Punctuation
':'           Operator
' '           Text.Whitespace
'string'      Keyword.Type
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'sys'         Name
'-'           Operator
'>'           Operator
'fd2path'     Name
'('           Punctuation
'sys'         Name
'-'           Operator
'>'           Operator
'open'        Name
'('           Punctuation
'"'           Literal.String
'.'           Literal.String
'"'           Literal.String
','           Punctuation
' '           Text.Whitespace
'Sys'         Name
'-'           Operator
'>'           Operator
'OREAD'       Name
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'# from string.b, waiting for declaration to be uncommented.\n' Comment.Single

'quotedc'     Name
'('           Punctuation
'argv'        Name
':'           Operator
' '           Text.Whitespace
'list'        Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'string'      Keyword.Type
','           Punctuation
' '           Text.Whitespace
'cl'          Name
':'           Operator
' '           Text.Whitespace
'string'      Keyword.Type
')'           Punctuation
':'           Operator
' '           Text.Whitespace
'string'      Keyword.Type
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
's'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'"'           Literal.String
'"'           Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'while'       Keyword
' '           Text.Whitespace
'('           Punctuation
'argv'        Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'arg'         Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'hd'          Keyword
' '           Text.Whitespace
'argv'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'for'         Name
' '           Text.Whitespace
'('           Punctuation
'i'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
' '           Text.Whitespace
'i'           Name
' '           Text.Whitespace
'<'           Operator
' '           Text.Whitespace
'len'         Keyword
' '           Text.Whitespace
'arg'         Name
';'           Punctuation
' '           Text.Whitespace
'i'           Name
'+'           Operator
'+'           Operator
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'c'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'arg'         Name
'['           Punctuation
'i'           Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'c'           Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
"' '"         Literal.String.Char
' '           Text.Whitespace
'|'           Operator
'|'           Operator
' '           Text.Whitespace
'c'           Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
"'\\t'"       Literal.String.Char
' '           Text.Whitespace
'|'           Operator
'|'           Operator
' '           Text.Whitespace
'c'           Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
"'\\n'"       Literal.String.Char
' '           Text.Whitespace
'|'           Operator
'|'           Operator
' '           Text.Whitespace
'c'           Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
"'\\''"       Literal.String.Char
' '           Text.Whitespace
'|'           Operator
'|'           Operator
' '           Text.Whitespace
'in'          Name
'('           Punctuation
'c'           Name
','           Punctuation
' '           Text.Whitespace
'cl'          Name
')'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'break'       Keyword
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'i'           Name
' '           Text.Whitespace
'<'           Operator
' '           Text.Whitespace
'len'         Keyword
' '           Text.Whitespace
'arg'         Name
' '           Text.Whitespace
'|'           Operator
'|'           Operator
' '           Text.Whitespace
'arg'         Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
's'           Name
' '           Text.Whitespace
'+'           Operator
'='           Operator
' '           Text.Whitespace
'"'           Literal.String
"'"           Literal.String
'"'           Literal.String
' '           Text.Whitespace
'+'           Operator
' '           Text.Whitespace
'arg'         Name
'['           Punctuation
'0'           Literal.Number.Integer
':'           Operator
'i'           Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'for'         Name
' '           Text.Whitespace
'('           Punctuation
';'           Punctuation
' '           Text.Whitespace
'i'           Name
' '           Text.Whitespace
'<'           Operator
' '           Text.Whitespace
'len'         Keyword
' '           Text.Whitespace
'arg'         Name
';'           Punctuation
' '           Text.Whitespace
'i'           Name
'+'           Operator
'+'           Operator
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'arg'         Name
'['           Punctuation
'i'           Name
']'           Punctuation
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
"'\\''"       Literal.String.Char
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t\t'  Text.Whitespace
's'           Name
'['           Punctuation
'len'         Keyword
' '           Text.Whitespace
's'           Name
']'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
"'\\''"       Literal.String.Char
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
's'           Name
'['           Punctuation
'len'         Keyword
' '           Text.Whitespace
's'           Name
']'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'arg'         Name
'['           Punctuation
'i'           Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
's'           Name
'['           Punctuation
'len'         Keyword
' '           Text.Whitespace
's'           Name
']'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
"'\\''"       Literal.String.Char
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'}'           Punctuation
' '           Text.Whitespace
'else'        Keyword
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
's'           Name
' '           Text.Whitespace
'+'           Operator
'='           Operator
' '           Text.Whitespace
'arg'         Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
' '           Text.Whitespace
'('           Punctuation
'tl'          Keyword
' '           Text.Whitespace
'argv'        Name
' '           Text.Whitespace
'!'           Operator
'='           Operator
' '           Text.Whitespace
'nil'         Keyword.Constant
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
's'           Name
'['           Punctuation
'len'         Keyword
' '           Text.Whitespace
's'           Name
']'           Punctuation
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
"' '"         Literal.String.Char
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'argv'        Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'tl'          Keyword
' '           Text.Whitespace
'argv'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
's'           Name
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'in'          Name
'('           Punctuation
'c'           Name
':'           Operator
' '           Text.Whitespace
'int'         Keyword.Type
','           Punctuation
' '           Text.Whitespace
's'           Name
':'           Operator
' '           Text.Whitespace
'string'      Keyword.Type
')'           Punctuation
':'           Operator
' '           Text.Whitespace
'int'         Keyword.Type
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'n'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'len'         Keyword
' '           Text.Whitespace
's'           Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'if'          Keyword
'('           Punctuation
'n'           Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'ans'         Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'negate'      Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'if'          Keyword
'('           Punctuation
's'           Name
'['           Punctuation
'0'           Literal.Number.Integer
']'           Punctuation
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
"'^'"         Literal.String.Char
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'negate'      Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'1'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
's'           Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
's'           Name
'['           Punctuation
'1'           Literal.Number.Integer
':'           Operator
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'n'           Name
'-'           Operator
'-'           Operator
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'for'         Name
'('           Punctuation
'i'           Name
' '           Text.Whitespace
':'           Operator
'='           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
' '           Text.Whitespace
'i'           Name
' '           Text.Whitespace
'<'           Operator
' '           Text.Whitespace
'n'           Name
';'           Punctuation
' '           Text.Whitespace
'i'           Name
'+'           Operator
'+'           Operator
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
'('           Punctuation
's'           Name
'['           Punctuation
'i'           Name
']'           Punctuation
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
"'-'"         Literal.String.Char
' '           Text.Whitespace
'&'           Operator
'&'           Operator
' '           Text.Whitespace
'i'           Name
' '           Text.Whitespace
'>'           Operator
' '           Text.Whitespace
'0'           Literal.Number.Integer
' '           Text.Whitespace
'&'           Operator
'&'           Operator
' '           Text.Whitespace
'i'           Name
' '           Text.Whitespace
'<'           Operator
' '           Text.Whitespace
'n'           Name
'-'           Operator
'1'           Literal.Number.Integer
')'           Punctuation
'  '          Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'if'          Keyword
'('           Punctuation
'c'           Name
' '           Text.Whitespace
'>'           Operator
'='           Operator
' '           Text.Whitespace
's'           Name
'['           Punctuation
'i'           Name
'-'           Operator
'1'           Literal.Number.Integer
']'           Punctuation
' '           Text.Whitespace
'&'           Operator
'&'           Operator
' '           Text.Whitespace
'c'           Name
' '           Text.Whitespace
'<'           Operator
'='           Operator
' '           Text.Whitespace
's'           Name
'['           Punctuation
'i'           Name
'+'           Operator
'1'           Literal.Number.Integer
']'           Punctuation
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'ans'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'1'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'break'       Keyword
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'i'           Name
'+'           Operator
'+'           Operator
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'else'        Keyword
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'if'          Keyword
'('           Punctuation
'c'           Name
' '           Text.Whitespace
'='           Operator
'='           Operator
' '           Text.Whitespace
's'           Name
'['           Punctuation
'i'           Name
']'           Punctuation
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'ans'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'1'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'break'       Keyword
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'if'          Keyword
'('           Punctuation
'negate'      Name
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'ans'         Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'!'           Operator
'ans'         Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'\t'          Text.Whitespace
'# just to showcase labels\n' Comment.Single

'skip:'       Name.Label
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'ans'         Name
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'bglong'      Name
'('           Punctuation
'd'           Name
':'           Operator
' '           Text.Whitespace
'array'       Keyword.Type
' '           Text.Whitespace
'of'          Keyword.Type
' '           Text.Whitespace
'byte'        Keyword.Type
','           Punctuation
' '           Text.Whitespace
'i'           Name
':'           Operator
' '           Text.Whitespace
'int'         Keyword.Type
')'           Punctuation
':'           Operator
' '           Text.Whitespace
'int'         Keyword.Type
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'int'         Keyword.Type
' '           Text.Whitespace
'd'           Name
'['           Punctuation
'i'           Name
']'           Punctuation
' '           Text.Whitespace
'|'           Operator
' '           Text.Whitespace
'('           Punctuation
'int'         Keyword.Type
' '           Text.Whitespace
'd'           Name
'['           Punctuation
'i'           Name
'+'           Operator
'1'           Literal.Number.Integer
']'           Punctuation
'<'           Operator
'<'           Operator
'8'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'|'           Operator
' '           Text.Whitespace
'('           Punctuation
'int'         Keyword.Type
' '           Text.Whitespace
'd'           Name
'['           Punctuation
'i'           Name
'+'           Operator
'2'           Literal.Number.Integer
']'           Punctuation
'<'           Operator
'<'           Operator
'16'          Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'|'           Operator
' '           Text.Whitespace
'('           Punctuation
'int'         Keyword.Type
' '           Text.Whitespace
'd'           Name
'['           Punctuation
'i'           Name
'+'           Operator
'3'           Literal.Number.Integer
']'           Punctuation
'<'           Operator
'<'           Operator
'24'          Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace
