'module'      Keyword
' '           Text.Whitespace
'simple'      Name
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'// Importing stuff.' Comment.Single
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'loadMod'     Name
'('           Punctuation
'name'        Name
','           Punctuation
' '           Text.Whitespace
'ns'          Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'assert'      Keyword
'('           Punctuation
'name'        Name
' '           Text.Whitespace
'=='          Punctuation
' '           Text.Whitespace
'"mod"'       Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\n\t\t'  Text.Whitespace
'ns'          Name
'.'           Punctuation
'x'           Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'"I\'m x"'    Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t'    Text.Whitespace
'ns'          Name
'.'           Punctuation
'foo'         Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'foo'         Name
'('           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'writefln'    Name
'('           Punctuation
'"foo"'       Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t\t'    Text.Whitespace
'ns'          Name
'.'           Punctuation
'bar'         Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'bar'         Name
'('           Punctuation
'x'           Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'x'           Name
'['           Punctuation
'0'           Literal.Number.Integer
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t\t'    Text.Whitespace
'ns'          Name
'.'           Punctuation
'baz'         Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'baz'         Name
'('           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'writefln'    Name
'('           Punctuation
'x'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\n\t\t'  Text.Whitespace
'foreach'     Keyword
'('           Punctuation
'k'           Name
','           Punctuation
' '           Text.Whitespace
'v'           Name
';'           Punctuation
' '           Text.Whitespace
'ns'          Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t\t'    Text.Whitespace
'v'           Name
'.'           Punctuation
'environment' Name
'('           Punctuation
'ns'          Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t'      Text.Whitespace
'setModuleLoader' Name
'('           Punctuation
'"mod"'       Literal.String
','           Punctuation
' '           Text.Whitespace
'loadMod'     Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'import'      Keyword
' '           Text.Whitespace
'mod'         Name
' '           Text.Whitespace
':'           Punctuation
' '           Text.Whitespace
'foo'         Name
','           Punctuation
' '           Text.Whitespace
'bar'         Name
';'           Punctuation
'\n'          Text.Whitespace

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

'\t'          Text.Whitespace
'writefln'    Name
'('           Punctuation
'bar'         Name
'('           Punctuation
'['           Punctuation
'5'           Literal.Number.Integer
']'           Punctuation
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'mod'         Name
'.'           Punctuation
'baz'         Name
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

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

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'// Super calls.' Comment.Single
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'class'       Keyword
' '           Text.Whitespace
'Base'        Name
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'fork'        Name
'('           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'writefln'    Name
'('           Punctuation
'"Base fork."' Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

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

'\n'          Text.Whitespace

'\t'          Text.Whitespace
'class'       Keyword
' '           Text.Whitespace
'Derived'     Name
' '           Text.Whitespace
':'           Punctuation
' '           Text.Whitespace
'Base'        Name
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'fork'        Name
'('           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'writefln'    Name
'('           Punctuation
'"Derived fork!"' Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'super'       Keyword
'.'           Punctuation
'fork'        Name
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

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

'\t\n\t'      Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'd'           Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'Derived'     Name
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'd'           Name
'.'           Punctuation
'fork'        Name
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'// Coroutines and coroutine iteration.' Comment.Single
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'countDown'   Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'coroutine'   Name
' '           Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'countDown'   Name
'('           Punctuation
'x'           Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'yield'       Keyword
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\n\t\t'  Text.Whitespace
'while'       Keyword
'('           Punctuation
'x'           Name
' '           Text.Whitespace
'>'           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'yield'       Keyword
'('           Punctuation
'x'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

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

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

'\t\n\t'      Text.Whitespace
'foreach'     Keyword
'('           Punctuation
'v'           Name
';'           Punctuation
' '           Text.Whitespace
'countDown'   Name
','           Punctuation
' '           Text.Whitespace
'5'           Literal.Number.Integer
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'writefln'    Name
'('           Punctuation
'v'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t'      Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'forEach'     Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'coroutine'   Name
' '           Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'forEach'     Name
'('           Punctuation
't'           Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'yield'       Keyword
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t'    Text.Whitespace
'foreach'     Keyword
'('           Punctuation
'k'           Name
','           Punctuation
' '           Text.Whitespace
'v'           Name
';'           Punctuation
' '           Text.Whitespace
't'           Name
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'yield'       Keyword
'('           Punctuation
'k'           Name
','           Punctuation
' '           Text.Whitespace
'v'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t'      Text.Whitespace
'foreach'     Keyword
'('           Punctuation
'_'           Name
','           Punctuation
' '           Text.Whitespace
'k'           Name
','           Punctuation
' '           Text.Whitespace
'v'           Name
';'           Punctuation
' '           Text.Whitespace
'forEach'     Name
','           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'hi'          Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'1'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'bye'         Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'2'           Literal.Number.Integer
'}'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'writefln'    Name
'('           Punctuation
'"key: "'     Literal.String
','           Punctuation
' '           Text.Whitespace
'k'           Name
','           Punctuation
' '           Text.Whitespace
'", value: "' Literal.String
','           Punctuation
' '           Text.Whitespace
'v'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'// Testing tailcalls.' Comment.Single
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'recurse'     Name
'('           Punctuation
'x'           Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'writefln'    Name
'('           Punctuation
'"recurse: "' Literal.String
','           Punctuation
' '           Text.Whitespace
'x'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'toString'    Name
'('           Punctuation
'x'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'recurse'     Name
'('           Punctuation
'x'           Name
' '           Text.Whitespace
'-'           Punctuation
' '           Text.Whitespace
'1'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t'      Text.Whitespace
'writefln'    Name
'('           Punctuation
'recurse'     Name
'('           Punctuation
'5'           Literal.Number.Integer
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t'      Text.Whitespace
'class'       Keyword
' '           Text.Whitespace
'A'           Name
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'f'           Name
'('           Punctuation
'x'           Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'writefln'    Name
'('           Punctuation
'"A.f: "'     Literal.String
','           Punctuation
' '           Text.Whitespace
'x'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

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

'\t\t\t\t'    Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'toString'    Name
'('           Punctuation
'x'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t\t'    Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'this'        Keyword
'.'           Punctuation
'f'           Name
'('           Punctuation
'x'           Name
' '           Text.Whitespace
'-'           Punctuation
' '           Text.Whitespace
'1'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
' '           Text.Whitespace
"// call it as this.f to force a 'method' instruction to be generated" Comment.Single
'\n'          Text.Whitespace

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

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

'\t\n\t'      Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'a'           Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'A'           Name
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'writefln'    Name
'('           Punctuation
'a'           Name
'.'           Punctuation
'f'           Name
'('           Punctuation
'5'           Literal.Number.Integer
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'// A function which lets us define properties for a class.' Comment.Single
'\n'          Text.Whitespace

'\t'          Text.Whitespace
"// The varargs should be a bunch of tables, each with a 'name' field, and 'getter' and/or 'setter' fields." Comment.Single
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'mixinProperties' Name
'('           Punctuation
'classType'   Name
','           Punctuation
' '           Text.Whitespace
'vararg'      Keyword
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'classType'   Name
'.'           Punctuation
'mProps'      Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'}'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t'    Text.Whitespace
'classType'   Name
'.'           Punctuation
'opIndex'     Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'opIndex'     Name
'('           Punctuation
'key'         Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'prop'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'mProps'      Name
'['           Punctuation
'key'         Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t'  Text.Whitespace
'if'          Keyword
'('           Punctuation
'prop'        Name
' '           Text.Whitespace
'is'          Keyword
' '           Text.Whitespace
'null'        Keyword.Constant
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'throw'       Keyword
' '           Text.Whitespace
'format'      Name
'('           Punctuation
'classType'   Name
','           Punctuation
' '           Text.Whitespace
'".opIndex() - Property \'%s\' does not exist"' Literal.String
','           Punctuation
' '           Text.Whitespace
'key'         Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t'  Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'getter'      Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'prop'        Name
'.'           Punctuation
'getter'      Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t'  Text.Whitespace
'if'          Keyword
'('           Punctuation
'getter'      Name
' '           Text.Whitespace
'is'          Keyword
' '           Text.Whitespace
'null'        Keyword.Constant
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'throw'       Keyword
' '           Text.Whitespace
'format'      Name
'('           Punctuation
'classType'   Name
','           Punctuation
' '           Text.Whitespace
'".opIndex() - Property \'%s\' has no getter"' Literal.String
','           Punctuation
' '           Text.Whitespace
'key'         Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t'  Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'getter'      Name
'('           Punctuation
'with'        Keyword
' '           Text.Whitespace
'this'        Keyword
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t\t'    Text.Whitespace
'classType'   Name
'.'           Punctuation
'opIndexAssign' Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'opIndexAssign' Name
'('           Punctuation
'key'         Name
','           Punctuation
' '           Text.Whitespace
'value'       Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'prop'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'mProps'      Name
'['           Punctuation
'key'         Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t'  Text.Whitespace
'if'          Keyword
'('           Punctuation
'prop'        Name
' '           Text.Whitespace
'is'          Keyword
' '           Text.Whitespace
'null'        Keyword.Constant
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'throw'       Keyword
' '           Text.Whitespace
'format'      Name
'('           Punctuation
'classType'   Name
','           Punctuation
' '           Text.Whitespace
'".opIndexAssign() - Property \'%s\' does not exist"' Literal.String
','           Punctuation
' '           Text.Whitespace
'key'         Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t'  Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'setter'      Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'prop'        Name
'.'           Punctuation
'setter'      Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t'  Text.Whitespace
'if'          Keyword
'('           Punctuation
'setter'      Name
' '           Text.Whitespace
'is'          Keyword
' '           Text.Whitespace
'null'        Keyword.Constant
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'throw'       Keyword
' '           Text.Whitespace
'format'      Name
'('           Punctuation
'classType'   Name
','           Punctuation
' '           Text.Whitespace
'".opIndexAssign() - Property \'%s\' has no setter"' Literal.String
','           Punctuation
' '           Text.Whitespace
'key'         Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t'  Text.Whitespace
'setter'      Name
'('           Punctuation
'with'        Keyword
' '           Text.Whitespace
'this'        Keyword
','           Punctuation
' '           Text.Whitespace
'value'       Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t\t'    Text.Whitespace
'foreach'     Keyword
'('           Punctuation
'i'           Name
','           Punctuation
' '           Text.Whitespace
'prop'        Name
';'           Punctuation
' '           Text.Whitespace
'['           Punctuation
'vararg'      Keyword
']'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'if'          Keyword
'('           Punctuation
'!'           Punctuation
'isTable'     Name
'('           Punctuation
'prop'        Name
')'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'throw'       Keyword
' '           Text.Whitespace
'format'      Name
'('           Punctuation
'"mixinProperties() - property "' Literal.String
','           Punctuation
' '           Text.Whitespace
'i'           Name
','           Punctuation
' '           Text.Whitespace
'" is not a table"' Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t'  Text.Whitespace
'if'          Keyword
'('           Punctuation
'prop'        Name
'.'           Punctuation
'name'        Name
' '           Text.Whitespace
'is'          Keyword
' '           Text.Whitespace
'null'        Keyword.Constant
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'throw'       Keyword
' '           Text.Whitespace
'format'      Name
'('           Punctuation
'"mixinProperties() - property "' Literal.String
','           Punctuation
' '           Text.Whitespace
'i'           Name
','           Punctuation
' '           Text.Whitespace
'" has no name"' Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t'  Text.Whitespace
'if'          Keyword
'('           Punctuation
'prop'        Name
'.'           Punctuation
'setter'      Name
' '           Text.Whitespace
'is'          Keyword
' '           Text.Whitespace
'null'        Keyword.Constant
' '           Text.Whitespace
'&&'          Punctuation
' '           Text.Whitespace
'prop'        Name
'.'           Punctuation
'getter'      Name
' '           Text.Whitespace
'is'          Keyword
' '           Text.Whitespace
'null'        Keyword.Constant
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'throw'       Keyword
' '           Text.Whitespace
'format'      Name
'('           Punctuation
'"mixinProperties() - property \'%s\' has no getter or setter"' Literal.String
','           Punctuation
' '           Text.Whitespace
'prop'        Name
'.'           Punctuation
'name'        Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t'  Text.Whitespace
'classType'   Name
'.'           Punctuation
'mProps'      Name
'['           Punctuation
'prop'        Name
'.'           Punctuation
'name'        Name
']'           Punctuation
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'prop'        Name
';'           Punctuation
'\n'          Text.Whitespace

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

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

'\t\n\t'      Text.Whitespace
'// Create a class to test out.' Comment.Single
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'class'       Keyword
' '           Text.Whitespace
'PropTest'    Name
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'mX'          Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'mY'          Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'mName'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'""'          Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\n\t\t'  Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'constructor' Name
'('           Punctuation
'name'        Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'mName'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'name'        Name
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t\t'    Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'toString'    Name
'('           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'format'      Name
'('           Punctuation
'"name = \'"' Literal.String
','           Punctuation
' '           Text.Whitespace
'mName'       Name
','           Punctuation
' '           Text.Whitespace
'"\' x = "'   Literal.String
','           Punctuation
' '           Text.Whitespace
'mX'          Name
','           Punctuation
' '           Text.Whitespace
'" y = "'     Literal.String
','           Punctuation
' '           Text.Whitespace
'mY'          Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

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

'\t\n\t'      Text.Whitespace
'// Mix in the properties.' Comment.Single
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'mixinProperties' Name
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'PropTest'    Name
','           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'name'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'"x"'         Literal.String
','           Punctuation
'\n'          Text.Whitespace

'\t\t\t\n\t\t\t' Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'setter'      Name
'('           Punctuation
'value'       Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t\t'    Text.Whitespace
'mX'          Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'value'       Name
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t\t\t'  Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'getter'      Name
'('           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

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

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

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

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

'\t\t\t'      Text.Whitespace
'name'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'"y"'         Literal.String
','           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t'  Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'setter'      Name
'('           Punctuation
'value'       Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t\t'    Text.Whitespace
'mY'          Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'value'       Name
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t\t\t'  Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'getter'      Name
'('           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

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

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

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

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

'\t\t\t'      Text.Whitespace
'name'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'"name"'      Literal.String
','           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t'  Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'getter'      Name
'('           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

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

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

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

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

'\t\n\t'      Text.Whitespace
'// Create an instance and try it out.' Comment.Single
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'p'           Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'PropTest'    Name
'('           Punctuation
'"hello"'     Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'writefln'    Name
'('           Punctuation
'p'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'p'           Name
'.'           Punctuation
'x'           Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'46'          Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'p'           Name
'.'           Punctuation
'y'           Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'123'         Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'p'           Name
'.'           Punctuation
'x'           Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'p'           Name
'.'           Punctuation
'x'           Name
' '           Text.Whitespace
'+'           Punctuation
' '           Text.Whitespace
'p'           Name
'.'           Punctuation
'y'           Name
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'writefln'    Name
'('           Punctuation
'p'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'// Try to access a nonexistent property.' Comment.Single
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'p'           Name
'.'           Punctuation
'name'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'"crap"'      Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'catch'       Keyword
'('           Punctuation
'e'           Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'writefln'    Name
'('           Punctuation
'"caught: "'  Literal.String
','           Punctuation
' '           Text.Whitespace
'e'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'writefln'    Name
'('           Punctuation
'getTraceback' Name
'('           Punctuation
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

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

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'// Some container classes.' Comment.Single
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'class'       Keyword
' '           Text.Whitespace
'PQ'          Name
'\n'          Text.Whitespace

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

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

'\t\t'        Text.Whitespace
'mLength'     Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t'    Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'constructor' Name
'('           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'mData'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'array'       Name
'.'           Punctuation
'new'         Name
'('           Punctuation
'15'          Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t\t'    Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'insert'      Name
'('           Punctuation
'data'        Name
')'           Punctuation
'\n'          Text.Whitespace

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

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

'\t\t\t'      Text.Whitespace
'mData'       Name
'['           Punctuation
'mLength'     Name
']'           Punctuation
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'data'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t'  Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'index'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'mLength'     Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'parentIndex' Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'('           Punctuation
'index'       Name
' '           Text.Whitespace
'-'           Punctuation
' '           Text.Whitespace
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'/'           Punctuation
' '           Text.Whitespace
'2'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t'  Text.Whitespace
'while'       Keyword
'('           Punctuation
'index'       Name
' '           Text.Whitespace
'>'           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
' '           Text.Whitespace
'&&'          Punctuation
' '           Text.Whitespace
'mData'       Name
'['           Punctuation
'parentIndex' Name
']'           Punctuation
' '           Text.Whitespace
'>'           Punctuation
' '           Text.Whitespace
'mData'       Name
'['           Punctuation
'index'       Name
']'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t\t'    Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'temp'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'mData'       Name
'['           Punctuation
'parentIndex' Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'mData'       Name
'['           Punctuation
'parentIndex' Name
']'           Punctuation
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'mData'       Name
'['           Punctuation
'index'       Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'mData'       Name
'['           Punctuation
'index'       Name
']'           Punctuation
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'temp'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t\t' Text.Whitespace
'index'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'parentIndex' Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'parentIndex' Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'('           Punctuation
'index'       Name
' '           Text.Whitespace
'-'           Punctuation
' '           Text.Whitespace
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'/'           Punctuation
' '           Text.Whitespace
'2'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t\n\t\t\t' Text.Whitespace
'mLength'     Name
' '           Text.Whitespace
'+='          Punctuation
' '           Text.Whitespace
'1'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t\t'    Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'remove'      Name
'('           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

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

'\t\t\t\t'    Text.Whitespace
'throw'       Keyword
' '           Text.Whitespace
'"PQ.remove() - No items to remove"' Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t'  Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'data'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'mData'       Name
'['           Punctuation
'0'           Literal.Number.Integer
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'mLength'     Name
' '           Text.Whitespace
'-='          Punctuation
' '           Text.Whitespace
'1'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'mData'       Name
'['           Punctuation
'0'           Literal.Number.Integer
']'           Punctuation
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'mData'       Name
'['           Punctuation
'mLength'     Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\n\t\t\t' Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'index'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'left'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'1'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'right'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'2'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t'  Text.Whitespace
'while'       Keyword
'('           Punctuation
'index'       Name
' '           Text.Whitespace
'<'           Punctuation
' '           Text.Whitespace
'mLength'     Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t\t'    Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'smaller'     Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t\n\t\t\t\t' Text.Whitespace
'if'          Keyword
'('           Punctuation
'left'        Name
' '           Text.Whitespace
'>='          Punctuation
' '           Text.Whitespace
'mLength'     Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t\t\t'  Text.Whitespace
'if'          Keyword
'('           Punctuation
'right'       Name
' '           Text.Whitespace
'>='          Punctuation
' '           Text.Whitespace
'mLength'     Name
')'           Punctuation
'\n'          Text.Whitespace

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

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

'\t\t\t\t\t\t' Text.Whitespace
'smaller'     Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'right'       Name
';'           Punctuation
'\n'          Text.Whitespace

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

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

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

'\t\t\t\t\t'  Text.Whitespace
'if'          Keyword
'('           Punctuation
'right'       Name
' '           Text.Whitespace
'>='          Punctuation
' '           Text.Whitespace
'mLength'     Name
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t\t\t' Text.Whitespace
'smaller'     Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'left'        Name
';'           Punctuation
'\n'          Text.Whitespace

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

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

'\t\t\t\t\t\t' Text.Whitespace
'if'          Keyword
'('           Punctuation
'mData'       Name
'['           Punctuation
'left'        Name
']'           Punctuation
' '           Text.Whitespace
'<'           Punctuation
' '           Text.Whitespace
'mData'       Name
'['           Punctuation
'right'       Name
']'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t\t\t\t' Text.Whitespace
'smaller'     Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'left'        Name
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t\t\t\t\t' Text.Whitespace
'smaller'     Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'right'       Name
';'           Punctuation
'\n'          Text.Whitespace

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

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

'\t\n\t\t\t\t' Text.Whitespace
'if'          Keyword
'('           Punctuation
'mData'       Name
'['           Punctuation
'index'       Name
']'           Punctuation
' '           Text.Whitespace
'>'           Punctuation
' '           Text.Whitespace
'mData'       Name
'['           Punctuation
'smaller'     Name
']'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t\t\t'  Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'temp'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'mData'       Name
'['           Punctuation
'index'       Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t\t'  Text.Whitespace
'mData'       Name
'['           Punctuation
'index'       Name
']'           Punctuation
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'mData'       Name
'['           Punctuation
'smaller'     Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t\t'  Text.Whitespace
'mData'       Name
'['           Punctuation
'smaller'     Name
']'           Punctuation
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'temp'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t\t\n\t\t\t\t\t' Text.Whitespace
'index'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'smaller'     Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t\t'  Text.Whitespace
'left'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'('           Punctuation
'index'       Name
' '           Text.Whitespace
'*'           Punctuation
' '           Text.Whitespace
'2'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'+'           Punctuation
' '           Text.Whitespace
'1'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t\t'  Text.Whitespace
'right'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'left'        Name
' '           Text.Whitespace
'+'           Punctuation
' '           Text.Whitespace
'1'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

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

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

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

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

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

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

'\t\t\n\t\t'  Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'resizeArray' Name
'('           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'if'          Keyword
'('           Punctuation
'mLength'     Name
' '           Text.Whitespace
'>='          Punctuation
' '           Text.Whitespace
'#'           Punctuation
'mData'       Name
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'mData'       Name
'.'           Punctuation
'length'      Name
'('           Punctuation
'('           Punctuation
'#'           Punctuation
'mData'       Name
' '           Text.Whitespace
'+'           Punctuation
' '           Text.Whitespace
'1'           Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'*'           Punctuation
' '           Text.Whitespace
'2'           Literal.Number.Integer
' '           Text.Whitespace
'-'           Punctuation
' '           Text.Whitespace
'1'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\n\t\t'  Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'hasData'     Name
'('           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'mLength'     Name
' '           Text.Whitespace
'!='          Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

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

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

'\t\n\t'      Text.Whitespace
'class'       Keyword
' '           Text.Whitespace
'Stack'       Name
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'mHead'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'null'        Keyword.Constant
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t'    Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'push'        Name
'('           Punctuation
'data'        Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
't'           Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'data'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'data'        Name
','           Punctuation
' '           Text.Whitespace
'next'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'mHead'       Name
' '           Text.Whitespace
'}'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'mHead'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
't'           Name
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\n\t\t'  Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'pop'         Name
'('           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'if'          Keyword
'('           Punctuation
'mHead'       Name
' '           Text.Whitespace
'is'          Keyword
' '           Text.Whitespace
'null'        Keyword.Constant
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'throw'       Keyword
' '           Text.Whitespace
'"Stack.pop() - No items to pop"' Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t'  Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'item'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'mHead'       Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'mHead'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'mHead'       Name
'.'           Punctuation
'next'        Name
';'           Punctuation
'\n'          Text.Whitespace

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

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

'\t\n\t\t'    Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'hasData'     Name
'('           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'mHead'       Name
' '           Text.Whitespace
'!'           Punctuation
'is'          Keyword
' '           Text.Whitespace
'null'        Keyword.Constant
';'           Punctuation
'\n'          Text.Whitespace

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

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

'\t\n\t'      Text.Whitespace
'class'       Keyword
' '           Text.Whitespace
'Queue'       Name
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'mHead'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'null'        Keyword.Constant
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'mTail'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'null'        Keyword.Constant
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t'    Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'push'        Name
'('           Punctuation
'data'        Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
't'           Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'data'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'data'        Name
','           Punctuation
' '           Text.Whitespace
'next'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'null'        Keyword.Constant
' '           Text.Whitespace
'}'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t'  Text.Whitespace
'if'          Keyword
'('           Punctuation
'mTail'       Name
' '           Text.Whitespace
'is'          Keyword
' '           Text.Whitespace
'null'        Keyword.Constant
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t\t'    Text.Whitespace
'mHead'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
't'           Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'mTail'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
't'           Name
';'           Punctuation
'\n'          Text.Whitespace

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

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

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

'\t\t\t\t'    Text.Whitespace
'mTail'       Name
'.'           Punctuation
'next'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
't'           Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'mTail'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
't'           Name
';'           Punctuation
'\n'          Text.Whitespace

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

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

'\t\t\n\t\t'  Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'pop'         Name
'('           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'if'          Keyword
'('           Punctuation
'mTail'       Name
' '           Text.Whitespace
'is'          Keyword
' '           Text.Whitespace
'null'        Keyword.Constant
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'throw'       Keyword
' '           Text.Whitespace
'"Queue.pop() - No items to pop"' Literal.String
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t\n\t\t\t' Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'item'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'mHead'       Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'mHead'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'mHead'       Name
'.'           Punctuation
'next'        Name
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\n\t\t\t' Text.Whitespace
'if'          Keyword
'('           Punctuation
'mHead'       Name
' '           Text.Whitespace
'is'          Keyword
' '           Text.Whitespace
'null'        Keyword.Constant
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'mTail'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'null'        Keyword.Constant
';'           Punctuation
'\n'          Text.Whitespace

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

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

'\t\t\n\t\t'  Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'hasData'     Name
'('           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'mHead'       Name
' '           Text.Whitespace
'!'           Punctuation
'is'          Keyword
' '           Text.Whitespace
'null'        Keyword.Constant
';'           Punctuation
'\n'          Text.Whitespace

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

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

'\t\n\t'      Text.Whitespace
'writefln'    Name
'('           Punctuation
'"Priority queue (heap)"' Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'prioQ'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'PQ'          Name
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'for'         Keyword
'('           Punctuation
'i'           Name
' '           Text.Whitespace
':'           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
' '           Text.Whitespace
'..'          Punctuation
' '           Text.Whitespace
'10'          Literal.Number.Integer
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'prioQ'       Name
'.'           Punctuation
'insert'      Name
'('           Punctuation
'math'        Name
'.'           Punctuation
'rand'        Name
'('           Punctuation
'0'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'20'          Literal.Number.Integer
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'while'       Keyword
'('           Punctuation
'prioQ'       Name
'.'           Punctuation
'hasData'     Name
'('           Punctuation
')'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'writefln'    Name
'('           Punctuation
'prioQ'       Name
'.'           Punctuation
'remove'      Name
'('           Punctuation
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t'          Text.Whitespace
'writefln'    Name
'('           Punctuation
'"Stack"'     Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'stack'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'Stack'       Name
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'for'         Keyword
'('           Punctuation
'i'           Name
' '           Text.Whitespace
':'           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
' '           Text.Whitespace
'..'          Punctuation
' '           Text.Whitespace
'5'           Literal.Number.Integer
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'stack'       Name
'.'           Punctuation
'push'        Name
'('           Punctuation
'i'           Name
' '           Text.Whitespace
'+'           Punctuation
' '           Text.Whitespace
'1'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'while'       Keyword
'('           Punctuation
'stack'       Name
'.'           Punctuation
'hasData'     Name
'('           Punctuation
')'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'writefln'    Name
'('           Punctuation
'stack'       Name
'.'           Punctuation
'pop'         Name
'('           Punctuation
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t'          Text.Whitespace
'writefln'    Name
'('           Punctuation
'"Queue"'     Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'queue'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'Queue'       Name
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'for'         Keyword
'('           Punctuation
'i'           Name
' '           Text.Whitespace
':'           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
' '           Text.Whitespace
'..'          Punctuation
' '           Text.Whitespace
'5'           Literal.Number.Integer
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'queue'       Name
'.'           Punctuation
'push'        Name
'('           Punctuation
'i'           Name
' '           Text.Whitespace
'+'           Punctuation
' '           Text.Whitespace
'1'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'while'       Keyword
'('           Punctuation
'queue'       Name
'.'           Punctuation
'hasData'     Name
'('           Punctuation
')'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'writefln'    Name
'('           Punctuation
'queue'       Name
'.'           Punctuation
'pop'         Name
'('           Punctuation
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'// opApply tests.' Comment.Single
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'class'       Keyword
' '           Text.Whitespace
'Test'        Name
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'mData'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'['           Punctuation
'4'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'5'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'6'           Literal.Number.Integer
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t'    Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'opApply'     Name
'('           Punctuation
'extra'       Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'if'          Keyword
'('           Punctuation
'isString'    Name
'('           Punctuation
'extra'       Name
')'           Punctuation
' '           Text.Whitespace
'&&'          Punctuation
' '           Text.Whitespace
'extra'       Name
' '           Text.Whitespace
'=='          Punctuation
' '           Text.Whitespace
'"reverse"'   Literal.String
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t\t'    Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'iterator_reverse' Name
'('           Punctuation
'index'       Name
')'           Punctuation
'\n'          Text.Whitespace

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

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

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

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

'\t\t\t\t\t\t\n\t\t\t\t\t' Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'index'       Name
','           Punctuation
' '           Text.Whitespace
'mData'       Name
'['           Punctuation
'index'       Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t\t\t\t' Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'iterator_reverse' Name
','           Punctuation
' '           Text.Whitespace
'this'        Keyword
','           Punctuation
' '           Text.Whitespace
'#'           Punctuation
'mData'       Name
';'           Punctuation
'\n'          Text.Whitespace

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

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

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

'\t\t\t\t'    Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'iterator'    Name
'('           Punctuation
'index'       Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t\t\t'  Text.Whitespace
'index'       Name
'++'          Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t\t\t\t' Text.Whitespace
'if'          Keyword
'('           Punctuation
'index'       Name
' '           Text.Whitespace
'>='          Punctuation
' '           Text.Whitespace
'#'           Punctuation
'mData'       Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\n\t\t\t\t\t' Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'index'       Name
','           Punctuation
' '           Text.Whitespace
'mData'       Name
'['           Punctuation
'index'       Name
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t\t\t\t' Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'iterator'    Name
','           Punctuation
' '           Text.Whitespace
'this'        Keyword
','           Punctuation
' '           Text.Whitespace
'-'           Punctuation
'1'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

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

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

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

'\t\n\t'      Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'test'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'Test'        Name
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'foreach'     Keyword
'('           Punctuation
'k'           Name
','           Punctuation
' '           Text.Whitespace
'v'           Name
';'           Punctuation
' '           Text.Whitespace
'test'        Name
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'writefln'    Name
'('           Punctuation
'"test["'     Literal.String
','           Punctuation
' '           Text.Whitespace
'k'           Name
','           Punctuation
' '           Text.Whitespace
'"] = "'      Literal.String
','           Punctuation
' '           Text.Whitespace
'v'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t'      Text.Whitespace
'foreach'     Keyword
'('           Punctuation
'k'           Name
','           Punctuation
' '           Text.Whitespace
'v'           Name
';'           Punctuation
' '           Text.Whitespace
'test'        Name
','           Punctuation
' '           Text.Whitespace
'"reverse"'   Literal.String
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'writefln'    Name
'('           Punctuation
'"test["'     Literal.String
','           Punctuation
' '           Text.Whitespace
'k'           Name
','           Punctuation
' '           Text.Whitespace
'"] = "'      Literal.String
','           Punctuation
' '           Text.Whitespace
'v'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t'      Text.Whitespace
'test'        Name
' '           Text.Whitespace
'='           Punctuation
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'fork'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'5'           Literal.Number.Integer
','           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'knife'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'10'          Literal.Number.Integer
','           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'spoon'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'"hi"'        Literal.String
'\n'          Text.Whitespace

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

'\t\n\t'      Text.Whitespace
'foreach'     Keyword
'('           Punctuation
'k'           Name
','           Punctuation
' '           Text.Whitespace
'v'           Name
';'           Punctuation
' '           Text.Whitespace
'test'        Name
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'writefln'    Name
'('           Punctuation
'"test["'     Literal.String
','           Punctuation
' '           Text.Whitespace
'k'           Name
','           Punctuation
' '           Text.Whitespace
'"] = "'      Literal.String
','           Punctuation
' '           Text.Whitespace
'v'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'test'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'['           Punctuation
'5'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'10'          Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'"hi"'        Literal.String
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t'      Text.Whitespace
'foreach'     Keyword
'('           Punctuation
'k'           Name
','           Punctuation
' '           Text.Whitespace
'v'           Name
';'           Punctuation
' '           Text.Whitespace
'test'        Name
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'writefln'    Name
'('           Punctuation
'"test["'     Literal.String
','           Punctuation
' '           Text.Whitespace
'k'           Name
','           Punctuation
' '           Text.Whitespace
'"] = "'      Literal.String
','           Punctuation
' '           Text.Whitespace
'v'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t'      Text.Whitespace
'foreach'     Keyword
'('           Punctuation
'k'           Name
','           Punctuation
' '           Text.Whitespace
'v'           Name
';'           Punctuation
' '           Text.Whitespace
'test'        Name
','           Punctuation
' '           Text.Whitespace
'"reverse"'   Literal.String
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'writefln'    Name
'('           Punctuation
'"test["'     Literal.String
','           Punctuation
' '           Text.Whitespace
'k'           Name
','           Punctuation
' '           Text.Whitespace
'"] = "'      Literal.String
','           Punctuation
' '           Text.Whitespace
'v'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t'      Text.Whitespace
'foreach'     Keyword
'('           Punctuation
'k'           Name
','           Punctuation
' '           Text.Whitespace
'v'           Name
';'           Punctuation
' '           Text.Whitespace
'"hello"'     Literal.String
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'writefln'    Name
'('           Punctuation
'"str["'      Literal.String
','           Punctuation
' '           Text.Whitespace
'k'           Name
','           Punctuation
' '           Text.Whitespace
'"] = "'      Literal.String
','           Punctuation
' '           Text.Whitespace
'v'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t'      Text.Whitespace
'foreach'     Keyword
'('           Punctuation
'k'           Name
','           Punctuation
' '           Text.Whitespace
'v'           Name
';'           Punctuation
' '           Text.Whitespace
'"hello"'     Literal.String
','           Punctuation
' '           Text.Whitespace
'"reverse"'   Literal.String
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'writefln'    Name
'('           Punctuation
'"str["'      Literal.String
','           Punctuation
' '           Text.Whitespace
'k'           Name
','           Punctuation
' '           Text.Whitespace
'"] = "'      Literal.String
','           Punctuation
' '           Text.Whitespace
'v'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'// Testing upvalues in for loops.' Comment.Single
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'arr'         Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'array'       Name
'.'           Punctuation
'new'         Name
'('           Punctuation
'10'          Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'for'         Keyword
'('           Punctuation
'i'           Name
' '           Text.Whitespace
':'           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
' '           Text.Whitespace
'..'          Punctuation
' '           Text.Whitespace
'10'          Literal.Number.Integer
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'arr'         Name
'['           Punctuation
'i'           Name
']'           Punctuation
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'function'    Keyword
'('           Punctuation
')'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
' '           Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'i'           Name
';'           Punctuation
' '           Text.Whitespace
'}'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'writefln'    Name
'('           Punctuation
'"This should be the values 0 through 9:"' Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'foreach'     Keyword
'('           Punctuation
'func'        Name
';'           Punctuation
' '           Text.Whitespace
'arr'         Name
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'writefln'    Name
'('           Punctuation
'func'        Name
'('           Punctuation
')'           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'// Testing nested functions.' Comment.Single
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'outer'       Name
'('           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'x'           Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'3'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t'    Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'inner'       Name
'('           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'x'           Name
'++'          Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'writefln'    Name
'('           Punctuation
'"inner x: "' Literal.String
','           Punctuation
' '           Text.Whitespace
'x'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t\t'    Text.Whitespace
'writefln'    Name
'('           Punctuation
'"outer x: "' Literal.String
','           Punctuation
' '           Text.Whitespace
'x'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'writefln'    Name
'('           Punctuation
'"outer x: "' Literal.String
','           Punctuation
' '           Text.Whitespace
'x'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

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

'\t\n\t'      Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'func'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'outer'       Name
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

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

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'// Testing Exceptions.' Comment.Single
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'thrower'     Name
'('           Punctuation
'x'           Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'if'          Keyword
'('           Punctuation
'x'           Name
' '           Text.Whitespace
'>='          Punctuation
' '           Text.Whitespace
'3'           Literal.Number.Integer
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'throw'       Keyword
' '           Text.Whitespace
'"Sorry, x is too big for me!"' Literal.String
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t'      Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'tryCatch'    Name
'('           Punctuation
'iterations'  Name
')'           Punctuation
'\n'          Text.Whitespace

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

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

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

'\t\t\t'      Text.Whitespace
'for'         Keyword
'('           Punctuation
'i'           Name
' '           Text.Whitespace
':'           Punctuation
' '           Text.Whitespace
'0'           Literal.Number.Integer
' '           Text.Whitespace
'..'          Punctuation
' '           Text.Whitespace
'iterations'  Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t\t'    Text.Whitespace
'writefln'    Name
'('           Punctuation
'"tryCatch: "' Literal.String
','           Punctuation
' '           Text.Whitespace
'i'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'thrower'     Name
'('           Punctuation
'i'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

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

'\t\t'        Text.Whitespace
'catch'       Keyword
'('           Punctuation
'e'           Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'writefln'    Name
'('           Punctuation
'"tryCatch caught: "' Literal.String
','           Punctuation
' '           Text.Whitespace
'e'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'throw'       Keyword
' '           Text.Whitespace
'e'           Name
';'           Punctuation
'\n'          Text.Whitespace

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

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

'\t\t\t'      Text.Whitespace
'writefln'    Name
'('           Punctuation
'"tryCatch finally"' Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

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

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

'\t\t'        Text.Whitespace
'tryCatch'    Name
'('           Punctuation
'2'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'tryCatch'    Name
'('           Punctuation
'5'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t'          Text.Whitespace
'catch'       Keyword
'('           Punctuation
'e'           Name
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'writefln'    Name
'('           Punctuation
'"caught: "'  Literal.String
','           Punctuation
' '           Text.Whitespace
'e'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'// Testing arrays.' Comment.Single
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'array'       Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'['           Punctuation
'7'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'9'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'2'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'3'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'6'           Literal.Number.Integer
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'array'       Name
'.'           Punctuation
'sort'        Name
'('           Punctuation
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'foreach'     Keyword
'('           Punctuation
'i'           Name
','           Punctuation
' '           Text.Whitespace
'v'           Name
';'           Punctuation
' '           Text.Whitespace
'array'       Name
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'writefln'    Name
'('           Punctuation
'"arr["'      Literal.String
','           Punctuation
' '           Text.Whitespace
'i'           Name
','           Punctuation
' '           Text.Whitespace
'"] = "'      Literal.String
','           Punctuation
' '           Text.Whitespace
'v'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'array'       Name
' '           Text.Whitespace
'~='          Punctuation
' '           Text.Whitespace
'['           Punctuation
'"foo"'       Literal.String
','           Punctuation
' '           Text.Whitespace
'"far"'       Literal.String
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t'      Text.Whitespace
'foreach'     Keyword
'('           Punctuation
'i'           Name
','           Punctuation
' '           Text.Whitespace
'v'           Name
';'           Punctuation
' '           Text.Whitespace
'array'       Name
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'writefln'    Name
'('           Punctuation
'"arr["'      Literal.String
','           Punctuation
' '           Text.Whitespace
'i'           Name
','           Punctuation
' '           Text.Whitespace
'"] = "'      Literal.String
','           Punctuation
' '           Text.Whitespace
'v'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'// Testing vararg functions.' Comment.Single
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'vargs'       Name
'('           Punctuation
'vararg'      Keyword
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'args'        Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'['           Punctuation
'vararg'      Keyword
']'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t'    Text.Whitespace
'writefln'    Name
'('           Punctuation
'"num varargs: "' Literal.String
','           Punctuation
' '           Text.Whitespace
'#'           Punctuation
'args'        Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t'    Text.Whitespace
'foreach'     Keyword
'('           Punctuation
'i'           Name
','           Punctuation
' '           Text.Whitespace
'v'           Name
';'           Punctuation
' '           Text.Whitespace
'args'        Name
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'writefln'    Name
'('           Punctuation
'"args["'     Literal.String
','           Punctuation
' '           Text.Whitespace
'i'           Name
','           Punctuation
' '           Text.Whitespace
'"] = "'      Literal.String
','           Punctuation
' '           Text.Whitespace
'v'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

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

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

'\t\n\t'      Text.Whitespace
'vargs'       Name
'('           Punctuation
'2'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'3'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'5'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'"foo"'       Literal.String
','           Punctuation
' '           Text.Whitespace
'"bar"'       Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'}'           Punctuation
'\n'          Text.Whitespace

'\n'          Text.Whitespace

'// Testing switches.' Comment.Single
'\n'          Text.Whitespace

'{'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'foreach'     Keyword
'('           Punctuation
'v'           Name
';'           Punctuation
' '           Text.Whitespace
'['           Punctuation
'"hi"'        Literal.String
','           Punctuation
' '           Text.Whitespace
'"bye"'       Literal.String
','           Punctuation
' '           Text.Whitespace
'"foo"'       Literal.String
']'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'switch'      Keyword
'('           Punctuation
'v'           Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'case'        Keyword
' '           Text.Whitespace
'"hi"'        Literal.String
':'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'writefln'    Name
'('           Punctuation
'"switched to hi"' Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t\t\n\t\t\t' Text.Whitespace
'case'        Keyword
' '           Text.Whitespace
'"bye"'       Literal.String
':'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'writefln'    Name
'('           Punctuation
'"switched to bye"' Literal.String
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t\t\n\t\t\t' Text.Whitespace
'default'     Keyword
':'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'writefln'    Name
'('           Punctuation
'"switched to something else"' Literal.String
')'           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'          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t'      Text.Whitespace
'foreach'     Keyword
'('           Punctuation
'v'           Name
';'           Punctuation
' '           Text.Whitespace
'['           Punctuation
'null'        Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'false'       Keyword.Constant
','           Punctuation
' '           Text.Whitespace
'1'           Literal.Number.Integer
','           Punctuation
' '           Text.Whitespace
'2.3'         Literal.Number.Float
','           Punctuation
' '           Text.Whitespace
"'x'"         Literal.String.Char
','           Punctuation
' '           Text.Whitespace
'"hi"'        Literal.String
']'           Punctuation
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'switch'      Keyword
'('           Punctuation
'v'           Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'case'        Keyword
' '           Text.Whitespace
'null'        Keyword.Constant
':'           Punctuation
' '           Text.Whitespace
'writefln'    Name
'('           Punctuation
'"null"'      Literal.String
')'           Punctuation
';'           Punctuation
' '           Text.Whitespace
'break'       Keyword
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'case'        Keyword
' '           Text.Whitespace
'false'       Keyword.Constant
':'           Punctuation
' '           Text.Whitespace
'writefln'    Name
'('           Punctuation
'"false"'     Literal.String
')'           Punctuation
';'           Punctuation
' '           Text.Whitespace
'break'       Keyword
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'case'        Keyword
' '           Text.Whitespace
'1'           Literal.Number.Integer
':'           Punctuation
' '           Text.Whitespace
'writefln'    Name
'('           Punctuation
'"1"'         Literal.String
')'           Punctuation
';'           Punctuation
' '           Text.Whitespace
'break'       Keyword
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'case'        Keyword
' '           Text.Whitespace
'2.3'         Literal.Number.Float
':'           Punctuation
' '           Text.Whitespace
'writefln'    Name
'('           Punctuation
'"2.3"'       Literal.String
')'           Punctuation
';'           Punctuation
' '           Text.Whitespace
'break'       Keyword
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'case'        Keyword
' '           Text.Whitespace
"'x'"         Literal.String.Char
':'           Punctuation
' '           Text.Whitespace
'writefln'    Name
'('           Punctuation
'"x"'         Literal.String
')'           Punctuation
';'           Punctuation
' '           Text.Whitespace
'break'       Keyword
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'case'        Keyword
' '           Text.Whitespace
'"hi"'        Literal.String
':'           Punctuation
' '           Text.Whitespace
'writefln'    Name
'('           Punctuation
'"hi"'        Literal.String
')'           Punctuation
';'           Punctuation
' '           Text.Whitespace
'break'       Keyword
';'           Punctuation
'\n'          Text.Whitespace

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

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

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

'\t\n\t'      Text.Whitespace
'class'       Keyword
' '           Text.Whitespace
'A'           Name
'\n'          Text.Whitespace

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

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

'\t\t\n\t\t'  Text.Whitespace
'this'        Keyword
'('           Punctuation
'value'       Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'mValue'      Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'value'       Name
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t\t'    Text.Whitespace
'function'    Keyword
' '           Text.Whitespace
'opCmp'       Name
'('           Punctuation
'other'       Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'assert'      Keyword
'('           Punctuation
'other'       Name
' '           Text.Whitespace
'as'          Keyword
' '           Text.Whitespace
'A'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'return'      Keyword
' '           Text.Whitespace
'mValue'      Name
' '           Text.Whitespace
'<=>'         Punctuation
' '           Text.Whitespace
'other'       Name
'.'           Punctuation
'mValue'      Name
';'           Punctuation
'\n'          Text.Whitespace

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

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

'\t\n\t'      Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'a1'          Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'A'           Name
'('           Punctuation
'1'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'a2'          Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'A'           Name
'('           Punctuation
'2'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'a3'          Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'A'           Name
'('           Punctuation
'3'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t'      Text.Whitespace
'for'         Keyword
'('           Punctuation
's'           Name
' '           Text.Whitespace
':'           Punctuation
' '           Text.Whitespace
'1'           Literal.Number.Integer
' '           Text.Whitespace
'..'          Punctuation
' '           Text.Whitespace
'4'           Literal.Number.Integer
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t'        Text.Whitespace
'local'       Keyword
' '           Text.Whitespace
'ss'          Name
' '           Text.Whitespace
'='           Punctuation
' '           Text.Whitespace
'A'           Name
'('           Punctuation
's'           Name
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

'\t\n\t\t'    Text.Whitespace
'switch'      Keyword
'('           Punctuation
'ss'          Name
')'           Punctuation
'\n'          Text.Whitespace

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

'\t\t\t'      Text.Whitespace
'case'        Keyword
' '           Text.Whitespace
'a1'          Name
':'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'writefln'    Name
'('           Punctuation
'1'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t\t\t'  Text.Whitespace
'case'        Keyword
' '           Text.Whitespace
'a2'          Name
':'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'writefln'    Name
'('           Punctuation
'2'           Literal.Number.Integer
')'           Punctuation
';'           Punctuation
'\n'          Text.Whitespace

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

'\t\n\t\t\t'  Text.Whitespace
'case'        Keyword
' '           Text.Whitespace
'a3'          Name
':'           Punctuation
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'writefln'    Name
'('           Punctuation
'3'           Literal.Number.Integer
')'           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'          Text.Whitespace
'}'           Punctuation
'\n'          Text.Whitespace

'}'           Punctuation
'\n'          Text.Whitespace
