'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