This repository has been archived on 2024-06-20. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
coffee.pygments/tests/examplefiles/whiley/example.whiley.output
Oleh Prypin 6f43092173
Also add auto-updatable output-based tests to examplefiles (#1689)
Co-authored-by: Georg Brandl <georg@python.org>
2021-01-20 10:48:45 +01:00

2755 lines
60 KiB
Text
Generated

'/**\n * Example Whiley program, taken from the Whiley benchmark suite.\n * https://github.com/Whiley/WyBench/blob/master/src/101_interpreter/Main.whiley\n */' Literal.String.Doc
'\n\n' Text
'import' Keyword.Namespace
' ' Text
'whiley' Name
'.' Punctuation
'lang' Name
'.' Punctuation
'System' Name
'\n' Text
'import' Keyword.Namespace
' ' Text
'whiley' Name
'.' Punctuation
'lang' Name
'.' Punctuation
'Int' Name
'\n' Text
'import' Keyword.Namespace
' ' Text
'whiley' Name
'.' Punctuation
'io' Name
'.' Punctuation
'File' Name
'\n' Text
'import' Keyword.Namespace
' ' Text
'string' Name
' ' Text
'from' Keyword.Namespace
' ' Text
'whiley' Name
'.' Punctuation
'lang' Name
'.' Punctuation
'ASCII' Name
'\n' Text
'import' Keyword.Namespace
' ' Text
'char' Name
' ' Text
'from' Keyword.Namespace
' ' Text
'whiley' Name
'.' Punctuation
'lang' Name
'.' Punctuation
'ASCII' Name
'\n\n' Text
'// ====================================================' Comment.Single
'\n' Text
'// A simple calculator for expressions' Comment.Single
'\n' Text
'// ====================================================' Comment.Single
'\n\n' Text
'constant' Keyword.Declaration
' ' Text
'ADD' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'0' Literal.Number.Integer
'\n' Text
'constant' Keyword.Declaration
' ' Text
'SUB' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'1' Literal.Number.Integer
'\n' Text
'constant' Keyword.Declaration
' ' Text
'MUL' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'2' Literal.Number.Integer
'\n' Text
'constant' Keyword.Declaration
' ' Text
'DIV' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'3' Literal.Number.Integer
'\n\n' Text
'// binary operation' Comment.Single
'\n' Text
'type' Keyword.Declaration
' ' Text
'BOp' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'(' Punctuation
'int' Keyword.Type
' ' Text
'x' Name
')' Punctuation
' ' Text
'where' Keyword.Reserved
' ' Text
'ADD' Name
' ' Text
'<' Operator
'=' Operator
' ' Text
'x' Name
' ' Text
'&' Operator
'&' Operator
' ' Text
'x' Name
' ' Text
'<' Operator
'=' Operator
' ' Text
'DIV' Name
'\n' Text
'type' Keyword.Declaration
' ' Text
'BinOp' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'{' Punctuation
' ' Text
'BOp' Name
' ' Text
'op' Name
',' Punctuation
' ' Text
'Expr' Name
' ' Text
'lhs' Name
',' Punctuation
' ' Text
'Expr' Name
' ' Text
'rhs' Name
' ' Text
'}' Punctuation
' \n\n' Text
'// variables' Comment.Single
'\n' Text
'type' Keyword.Declaration
' ' Text
'Var' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'{' Punctuation
' ' Text
'string' Name
' ' Text
'id' Name
' ' Text
'}' Punctuation
'\n\n' Text
'// list access' Comment.Single
'\n' Text
'type' Keyword.Declaration
' ' Text
'ListAccess' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'{' Punctuation
' \n ' Text
'Expr' Name
' ' Text
'src' Name
',' Punctuation
' \n ' Text
'Expr' Name
' ' Text
'index' Name
'\n' Text
'}' Punctuation
' \n\n' Text
'// expression tree' Comment.Single
'\n' Text
'type' Keyword.Declaration
' ' Text
'Expr' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'int' Keyword.Type
' ' Text
'|' Operator
' ' Text
'// constant' Comment.Single
'\n ' Text
'Var' Name
' ' Text
'|' Operator
' ' Text
'// variable' Comment.Single
'\n ' Text
'BinOp' Name
' ' Text
'|' Operator
' ' Text
'// binary operator' Comment.Single
'\n ' Text
'Expr' Name
'[' Punctuation
']' Punctuation
' ' Text
'|' Operator
' ' Text
'// array constructor' Comment.Single
'\n ' Text
'ListAccess' Name
' ' Text
'// list access' Comment.Single
'\n\n' Text
'// values' Comment.Single
'\n' Text
'type' Keyword.Declaration
' ' Text
'Value' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'int' Keyword.Type
' ' Text
'|' Operator
' ' Text
'Value' Name
'[' Punctuation
']' Punctuation
'\n\n' Text
'// stmts' Comment.Single
'\n' Text
'type' Keyword.Declaration
' ' Text
'Print' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'{' Punctuation
' ' Text
'Expr' Name
' ' Text
'rhs' Name
' ' Text
'}' Punctuation
'\n' Text
'type' Keyword.Declaration
' ' Text
'Set' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'{' Punctuation
' ' Text
'string' Name
' ' Text
'lhs' Name
',' Punctuation
' ' Text
'Expr' Name
' ' Text
'rhs' Name
' ' Text
'}' Punctuation
'\n' Text
'type' Keyword.Declaration
' ' Text
'Stmt' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'Print' Name
' ' Text
'|' Operator
' ' Text
'Set' Name
'\n\n' Text
'// ====================================================' Comment.Single
'\n' Text
'// Expression Evaluator' Comment.Single
'\n' Text
'// ====================================================' Comment.Single
'\n\n' Text
'type' Keyword.Declaration
' ' Text
'RuntimeError' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'{' Punctuation
' ' Text
'string' Name
' ' Text
'msg' Name
' ' Text
'}' Punctuation
'\n' Text
'type' Keyword.Declaration
' ' Text
'Environment' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'[' Punctuation
'{' Punctuation
'string' Name
' ' Text
'k' Name
',' Punctuation
' ' Text
'Value' Name
' ' Text
'v' Name
'}' Punctuation
']' Punctuation
'\n\n' Text
'// Evaluate an expression in a given environment reducing either to a' Comment.Single
'\n' Text
'// value, or a runtime error. The latter occurs if evaluation gets' Comment.Single
'\n' Text
'// "stuck" (e.g. expression is // not well-formed)' Comment.Single
'\n' Text
'function' Keyword.Declaration
' ' Text
'evaluate' Name
'(' Punctuation
'Expr' Name
' ' Text
'e' Name
',' Punctuation
' ' Text
'Environment' Name
' ' Text
'env' Name
')' Punctuation
' ' Text
'-' Operator
'>' Operator
' ' Text
'Value' Name
' ' Text
'|' Operator
' ' Text
'RuntimeError' Name
':' Operator
'\n ' Text
'//' Comment.Single
'\n ' Text
'if' Keyword.Reserved
' ' Text
'e' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'int' Keyword.Type
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'e' Name
'\n ' Text
'else' Keyword.Reserved
' ' Text
'if' Keyword.Reserved
' ' Text
'e' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'Var' Name
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'env' Name
'[' Punctuation
'e' Name
'.' Punctuation
'id' Name
']' Punctuation
'\n ' Text
'else' Keyword.Reserved
' ' Text
'if' Keyword.Reserved
' ' Text
'e' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'BinOp' Name
':' Operator
'\n ' Text
'Value' Name
'|' Operator
'RuntimeError' Name
' ' Text
'lhs' Name
' ' Text
'=' Operator
' ' Text
'evaluate' Name
'(' Punctuation
'e' Name
'.' Punctuation
'lhs' Name
',' Punctuation
' ' Text
'env' Name
')' Punctuation
'\n ' Text
'Value' Name
'|' Operator
'RuntimeError' Name
' ' Text
'rhs' Name
' ' Text
'=' Operator
' ' Text
'evaluate' Name
'(' Punctuation
'e' Name
'.' Punctuation
'rhs' Name
',' Punctuation
' ' Text
'env' Name
')' Punctuation
'\n ' Text
'// check if stuck' Comment.Single
'\n ' Text
'if' Keyword.Reserved
' ' Text
'!' Operator
'(' Punctuation
'lhs' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'int' Keyword.Type
' ' Text
'&' Operator
'&' Operator
' ' Text
'rhs' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'int' Keyword.Type
')' Punctuation
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'{' Punctuation
'msg' Name
':' Operator
' ' Text
'"' Literal.String
'arithmetic attempted on non-numeric value' Literal.String
'"' Literal.String
'}' Punctuation
'\n ' Text
'// switch statement would be good' Comment.Single
'\n ' Text
'if' Keyword.Reserved
' ' Text
'e' Name
'.' Punctuation
'op' Name
' ' Text
'=' Operator
'=' Operator
' ' Text
'ADD' Name
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'lhs' Name
' ' Text
'+' Operator
' ' Text
'rhs' Name
'\n ' Text
'else' Keyword.Reserved
' ' Text
'if' Keyword.Reserved
' ' Text
'e' Name
'.' Punctuation
'op' Name
' ' Text
'=' Operator
'=' Operator
' ' Text
'SUB' Name
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'lhs' Name
' ' Text
'-' Operator
' ' Text
'rhs' Name
'\n ' Text
'else' Keyword.Reserved
' ' Text
'if' Keyword.Reserved
' ' Text
'e' Name
'.' Punctuation
'op' Name
' ' Text
'=' Operator
'=' Operator
' ' Text
'MUL' Name
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'lhs' Name
' ' Text
'*' Operator
' ' Text
'rhs' Name
'\n ' Text
'else' Keyword.Reserved
' ' Text
'if' Keyword.Reserved
' ' Text
'rhs' Name
' ' Text
'!' Operator
'=' Operator
' ' Text
'0' Literal.Number.Integer
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'lhs' Name
' ' Text
'/' Operator
' ' Text
'rhs' Name
'\n ' Text
'return' Keyword.Reserved
' ' Text
'{' Punctuation
'msg' Name
':' Operator
' ' Text
'"' Literal.String
'divide-by-zero' Literal.String
'"' Literal.String
'}' Punctuation
'\n ' Text
'else' Keyword.Reserved
' ' Text
'if' Keyword.Reserved
' ' Text
'e' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'Expr' Name
'[' Punctuation
']' Punctuation
':' Operator
'\n ' Text
'[' Punctuation
'Value' Name
']' Punctuation
' ' Text
'r' Name
' ' Text
'=' Operator
' ' Text
'[' Punctuation
']' Punctuation
'\n ' Text
'for' Keyword.Reserved
' ' Text
'i' Name
' ' Text
'in' Keyword.Reserved
' ' Text
'e' Name
':' Operator
'\n ' Text
'Value' Name
'|' Operator
'RuntimeError' Name
' ' Text
'v' Name
' ' Text
'=' Operator
' ' Text
'evaluate' Name
'(' Punctuation
'i' Name
',' Punctuation
' ' Text
'env' Name
')' Punctuation
'\n ' Text
'if' Keyword.Reserved
' ' Text
'v' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'RuntimeError' Name
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'v' Name
'\n ' Text
'else' Keyword.Reserved
':' Operator
'\n ' Text
'r' Name
' ' Text
'=' Operator
' ' Text
'r' Name
' ' Text
'+' Operator
'+' Operator
' ' Text
'[' Punctuation
'v' Name
']' Punctuation
'\n ' Text
'return' Keyword.Reserved
' ' Text
'r' Name
'\n ' Text
'else' Keyword.Reserved
' ' Text
'if' Keyword.Reserved
' ' Text
'e' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'ListAccess' Name
':' Operator
'\n ' Text
'Value' Name
'|' Operator
'RuntimeError' Name
' ' Text
'src' Name
' ' Text
'=' Operator
' ' Text
'evaluate' Name
'(' Punctuation
'e' Name
'.' Punctuation
'src' Name
',' Punctuation
' ' Text
'env' Name
')' Punctuation
'\n ' Text
'Value' Name
'|' Operator
'RuntimeError' Name
' ' Text
'index' Name
' ' Text
'=' Operator
' ' Text
'evaluate' Name
'(' Punctuation
'e' Name
'.' Punctuation
'index' Name
',' Punctuation
' ' Text
'env' Name
')' Punctuation
'\n ' Text
'// santity checks' Comment.Single
'\n ' Text
'if' Keyword.Reserved
' ' Text
'src' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'[' Punctuation
'Value' Name
']' Punctuation
' ' Text
'&' Operator
'&' Operator
' ' Text
'index' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'int' Keyword.Type
' ' Text
'&' Operator
'&' Operator
' ' Text
'index' Name
' ' Text
'>' Operator
'=' Operator
' ' Text
'0' Literal.Number.Integer
' ' Text
'&' Operator
'&' Operator
' ' Text
'index' Name
' ' Text
'<' Operator
' ' Text
'|' Operator
'src' Name
'|' Operator
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'src' Name
'[' Punctuation
'index' Name
']' Punctuation
'\n ' Text
'else' Keyword.Reserved
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'{' Punctuation
'msg' Name
':' Operator
' ' Text
'"' Literal.String
'invalid list access' Literal.String
'"' Literal.String
'}' Punctuation
'\n ' Text
'else' Keyword.Reserved
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'0' Literal.Number.Integer
' ' Text
'// dead-code' Comment.Single
'\n\n' Text
'// ====================================================' Comment.Single
'\n' Text
'// Expression Parser' Comment.Single
'\n' Text
'// ====================================================' Comment.Single
'\n\n' Text
'type' Keyword.Declaration
' ' Text
'State' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'{' Punctuation
' ' Text
'string' Name
' ' Text
'input' Name
',' Punctuation
' ' Text
'int' Keyword.Type
' ' Text
'pos' Name
' ' Text
'}' Punctuation
'\n' Text
'type' Keyword.Declaration
' ' Text
'SyntaxError' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'{' Punctuation
' ' Text
'string' Name
' ' Text
'msg' Name
',' Punctuation
' ' Text
'int' Keyword.Type
' ' Text
'start' Name
',' Punctuation
' ' Text
'int' Keyword.Type
' ' Text
'end' Name
' ' Text
'}' Punctuation
'\n\n' Text
'function' Keyword.Declaration
' ' Text
'SyntaxError' Name
'(' Punctuation
'string' Name
' ' Text
'msg' Name
',' Punctuation
' ' Text
'int' Keyword.Type
' ' Text
'start' Name
',' Punctuation
' ' Text
'int' Keyword.Type
' ' Text
'end' Name
')' Punctuation
' ' Text
'-' Operator
'>' Operator
' ' Text
'SyntaxError' Name
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'{' Punctuation
' ' Text
'msg' Name
':' Operator
' ' Text
'msg' Name
',' Punctuation
' ' Text
'start' Name
':' Operator
' ' Text
'start' Name
',' Punctuation
' ' Text
'end' Name
':' Operator
' ' Text
'end' Name
' ' Text
'}' Punctuation
'\n\n' Text
'// Top-level parse method' Comment.Single
'\n' Text
'function' Keyword.Declaration
' ' Text
'parse' Name
'(' Punctuation
'State' Name
' ' Text
'st' Name
')' Punctuation
' ' Text
'-' Operator
'>' Operator
' ' Text
'(' Punctuation
'Stmt' Name
',' Punctuation
'State' Name
')' Punctuation
'|' Operator
'SyntaxError' Name
':' Operator
'\n ' Text
'//' Comment.Single
'\n ' Text
'Var' Name
' ' Text
'keyword' Name
',' Punctuation
' ' Text
'Var' Name
' ' Text
'v' Name
'\n ' Text
'Expr' Name
' ' Text
'e' Name
'\n ' Text
'int' Keyword.Type
' ' Text
'start' Name
' ' Text
'=' Operator
' ' Text
'st' Name
'.' Punctuation
'pos' Name
'\n ' Text
'//' Comment.Single
'\n ' Text
'keyword' Name
',' Punctuation
'st' Name
' ' Text
'=' Operator
' ' Text
'parseIdentifier' Name
'(' Punctuation
'st' Name
')' Punctuation
'\n ' Text
'switch' Keyword.Reserved
' ' Text
'keyword' Name
'.' Punctuation
'id' Name
':' Operator
'\n ' Text
'case' Keyword.Reserved
' ' Text
'"' Literal.String
'print' Literal.String
'"' Literal.String
':' Operator
'\n ' Text
'any' Keyword.Type
' ' Text
'r' Name
' ' Text
'=' Operator
' ' Text
'parseAddSubExpr' Name
'(' Punctuation
'st' Name
')' Punctuation
'\n ' Text
'if' Keyword.Reserved
' ' Text
'!' Operator
'(' Punctuation
'r' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'SyntaxError' Name
')' Punctuation
':' Operator
'\n ' Text
'e' Name
',' Punctuation
'st' Name
' ' Text
'=' Operator
' ' Text
'r' Name
'\n ' Text
'return' Keyword.Reserved
' ' Text
'{' Punctuation
'rhs' Name
':' Operator
' ' Text
'e' Name
'}' Punctuation
',' Punctuation
'st' Name
'\n ' Text
'else' Keyword.Reserved
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'r' Name
' ' Text
'// error case' Comment.Single
'\n ' Text
'case' Keyword.Reserved
' ' Text
'"' Literal.String
'set' Literal.String
'"' Literal.String
':' Operator
'\n ' Text
'st' Name
' ' Text
'=' Operator
' ' Text
'parseWhiteSpace' Name
'(' Punctuation
'st' Name
')' Punctuation
'\n ' Text
'v' Name
',' Punctuation
'st' Name
' ' Text
'=' Operator
' ' Text
'parseIdentifier' Name
'(' Punctuation
'st' Name
')' Punctuation
'\n ' Text
'any' Keyword.Type
' ' Text
'r' Name
' ' Text
'=' Operator
' ' Text
'parseAddSubExpr' Name
'(' Punctuation
'st' Name
')' Punctuation
'\n ' Text
'if' Keyword.Reserved
' ' Text
'!' Operator
'(' Punctuation
'r' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'SyntaxError' Name
')' Punctuation
':' Operator
'\n ' Text
'e' Name
',' Punctuation
'st' Name
' ' Text
'=' Operator
' ' Text
'r' Name
'\n ' Text
'return' Keyword.Reserved
' ' Text
'{' Punctuation
'lhs' Name
':' Operator
' ' Text
'v' Name
'.' Punctuation
'id' Name
',' Punctuation
' ' Text
'rhs' Name
':' Operator
' ' Text
'e' Name
'}' Punctuation
',' Punctuation
'st' Name
'\n ' Text
'else' Keyword.Reserved
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'r' Name
' ' Text
'// error case' Comment.Single
'\n ' Text
'default' Keyword.Reserved
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'SyntaxError' Name
'(' Punctuation
'"' Literal.String
'unknown statement' Literal.String
'"' Literal.String
',' Punctuation
'start' Name
',' Punctuation
'st' Name
'.' Punctuation
'pos' Name
'-' Operator
'1' Literal.Number.Integer
')' Punctuation
'\n\n' Text
'function' Keyword.Declaration
' ' Text
'parseAddSubExpr' Name
'(' Punctuation
'State' Name
' ' Text
'st' Name
')' Punctuation
' ' Text
'-' Operator
'>' Operator
' ' Text
'(' Punctuation
'Expr' Name
',' Punctuation
' ' Text
'State' Name
')' Punctuation
'|' Operator
'SyntaxError' Name
':' Operator
' \n ' Text
'//' Comment.Single
'\n ' Text
'Expr' Name
' ' Text
'lhs' Name
',' Punctuation
' ' Text
'Expr' Name
' ' Text
'rhs' Name
' \n ' Text
'// First, pass left-hand side ' Comment.Single
'\n ' Text
'any' Keyword.Type
' ' Text
'r' Name
' ' Text
'=' Operator
' ' Text
'parseMulDivExpr' Name
'(' Punctuation
'st' Name
')' Punctuation
'\n ' Text
'//' Comment.Single
'\n ' Text
'if' Keyword.Reserved
' ' Text
'r' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'SyntaxError' Name
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'r' Name
'\n ' Text
'// ' Comment.Single
'\n ' Text
'lhs' Name
',' Punctuation
'st' Name
' ' Text
'=' Operator
' ' Text
'r' Name
'\n ' Text
'st' Name
' ' Text
'=' Operator
' ' Text
'parseWhiteSpace' Name
'(' Punctuation
'st' Name
')' Punctuation
'\n ' Text
'// Second, see if there is a right-hand side' Comment.Single
'\n ' Text
'if' Keyword.Reserved
' ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'<' Operator
' ' Text
'|' Operator
'st' Name
'.' Punctuation
'input' Name
'|' Operator
' ' Text
'&' Operator
'&' Operator
' ' Text
'st' Name
'.' Punctuation
'input' Name
'[' Punctuation
'st' Name
'.' Punctuation
'pos' Name
']' Punctuation
' ' Text
'=' Operator
'=' Operator
' ' Text
"'+'" Literal.String.Char
':' Operator
'\n ' Text
'// add expression' Comment.Single
'\n ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'=' Operator
' ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'+' Operator
' ' Text
'1' Literal.Number.Integer
'\n ' Text
'r' Name
' ' Text
'=' Operator
' ' Text
'parseAddSubExpr' Name
'(' Punctuation
'st' Name
')' Punctuation
' \n ' Text
'if' Keyword.Reserved
' ' Text
'!' Operator
'(' Punctuation
'r' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'SyntaxError' Name
')' Punctuation
':' Operator
'\n ' Text
'rhs' Name
',' Punctuation
'st' Name
' ' Text
'=' Operator
' ' Text
'r' Name
'\n ' Text
'return' Keyword.Reserved
' ' Text
'{' Punctuation
'op' Name
':' Operator
' ' Text
'ADD' Name
',' Punctuation
' ' Text
'lhs' Name
':' Operator
' ' Text
'lhs' Name
',' Punctuation
' ' Text
'rhs' Name
':' Operator
' ' Text
'rhs' Name
'}' Punctuation
',' Punctuation
'st' Name
'\n ' Text
'else' Keyword.Reserved
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'r' Name
'\n ' Text
'else' Keyword.Reserved
' ' Text
'if' Keyword.Reserved
' ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'<' Operator
' ' Text
'|' Operator
'st' Name
'.' Punctuation
'input' Name
'|' Operator
' ' Text
'&' Operator
'&' Operator
' ' Text
'st' Name
'.' Punctuation
'input' Name
'[' Punctuation
'st' Name
'.' Punctuation
'pos' Name
']' Punctuation
' ' Text
'=' Operator
'=' Operator
' ' Text
"'-'" Literal.String.Char
':' Operator
'\n ' Text
'// subtract expression' Comment.Single
'\n ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'=' Operator
' ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'+' Operator
' ' Text
'1' Literal.Number.Integer
'\n ' Text
'r' Name
' ' Text
'=' Operator
' ' Text
'parseAddSubExpr' Name
'(' Punctuation
'st' Name
')' Punctuation
' \n ' Text
'if' Keyword.Reserved
' ' Text
'!' Operator
'(' Punctuation
'r' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'SyntaxError' Name
')' Punctuation
':' Operator
'\n ' Text
'rhs' Name
',' Punctuation
'st' Name
' ' Text
'=' Operator
' ' Text
'r' Name
'\n ' Text
'return' Keyword.Reserved
' ' Text
'{' Punctuation
'op' Name
':' Operator
' ' Text
'SUB' Name
',' Punctuation
' ' Text
'lhs' Name
':' Operator
' ' Text
'lhs' Name
',' Punctuation
' ' Text
'rhs' Name
':' Operator
' ' Text
'rhs' Name
'}' Punctuation
',' Punctuation
'st' Name
'\n ' Text
'else' Keyword.Reserved
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'r' Name
' \n ' Text
'// No right-hand side' Comment.Single
'\n ' Text
'return' Keyword.Reserved
' ' Text
'(' Punctuation
'lhs' Name
',' Punctuation
'st' Name
')' Punctuation
'\n\n' Text
'function' Keyword.Declaration
' ' Text
'parseMulDivExpr' Name
'(' Punctuation
'State' Name
' ' Text
'st' Name
')' Punctuation
' ' Text
'-' Operator
'>' Operator
' ' Text
'(' Punctuation
'Expr' Name
',' Punctuation
' ' Text
'State' Name
')' Punctuation
'|' Operator
'SyntaxError' Name
':' Operator
' \n ' Text
'// First, parse left-hand side' Comment.Single
'\n ' Text
'Expr' Name
' ' Text
'lhs' Name
',' Punctuation
' ' Text
'Expr' Name
' ' Text
'rhs' Name
'\n ' Text
'any' Keyword.Type
' ' Text
'r' Name
' ' Text
'=' Operator
' ' Text
'parseTerm' Name
'(' Punctuation
'st' Name
')' Punctuation
'\n ' Text
'if' Keyword.Reserved
' ' Text
'r' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'SyntaxError' Name
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'r' Name
'\n ' Text
'//' Comment.Single
'\n ' Text
'lhs' Name
',' Punctuation
'st' Name
' ' Text
'=' Operator
' ' Text
'r' Name
'\n ' Text
'st' Name
' ' Text
'=' Operator
' ' Text
'parseWhiteSpace' Name
'(' Punctuation
'st' Name
')' Punctuation
'\n ' Text
'// Second, see if there is a right-hand side' Comment.Single
'\n ' Text
'if' Keyword.Reserved
' ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'<' Operator
' ' Text
'|' Operator
'st' Name
'.' Punctuation
'input' Name
'|' Operator
' ' Text
'&' Operator
'&' Operator
' ' Text
'st' Name
'.' Punctuation
'input' Name
'[' Punctuation
'st' Name
'.' Punctuation
'pos' Name
']' Punctuation
' ' Text
'=' Operator
'=' Operator
' ' Text
"'*'" Literal.String.Char
':' Operator
'\n ' Text
'// add expression' Comment.Single
'\n ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'=' Operator
' ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'+' Operator
' ' Text
'1' Literal.Number.Integer
'\n ' Text
'r' Name
' ' Text
'=' Operator
' ' Text
'parseMulDivExpr' Name
'(' Punctuation
'st' Name
')' Punctuation
' \n ' Text
'if' Keyword.Reserved
' ' Text
'!' Operator
'(' Punctuation
'r' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'SyntaxError' Name
')' Punctuation
':' Operator
'\n ' Text
'rhs' Name
',' Punctuation
'st' Name
' ' Text
'=' Operator
' ' Text
'r' Name
'\n ' Text
'return' Keyword.Reserved
' ' Text
'{' Punctuation
'op' Name
':' Operator
' ' Text
'MUL' Name
',' Punctuation
' ' Text
'lhs' Name
':' Operator
' ' Text
'lhs' Name
',' Punctuation
' ' Text
'rhs' Name
':' Operator
' ' Text
'rhs' Name
'}' Punctuation
',' Punctuation
' ' Text
'st' Name
'\n ' Text
'else' Keyword.Reserved
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'r' Name
'\n ' Text
'else' Keyword.Reserved
' ' Text
'if' Keyword.Reserved
' ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'<' Operator
' ' Text
'|' Operator
'st' Name
'.' Punctuation
'input' Name
'|' Operator
' ' Text
'&' Operator
'&' Operator
' ' Text
'st' Name
'.' Punctuation
'input' Name
'[' Punctuation
'st' Name
'.' Punctuation
'pos' Name
']' Punctuation
' ' Text
'=' Operator
'=' Operator
' ' Text
"'/'" Literal.String.Char
':' Operator
'\n ' Text
'// subtract expression' Comment.Single
'\n ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'=' Operator
' ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'+' Operator
' ' Text
'1' Literal.Number.Integer
'\n ' Text
'r' Name
' ' Text
'=' Operator
' ' Text
'parseMulDivExpr' Name
'(' Punctuation
'st' Name
')' Punctuation
' \n ' Text
'if' Keyword.Reserved
' ' Text
'!' Operator
'(' Punctuation
'r' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'SyntaxError' Name
')' Punctuation
':' Operator
'\n ' Text
'rhs' Name
',' Punctuation
'st' Name
' ' Text
'=' Operator
' ' Text
'r' Name
'\n ' Text
'return' Keyword.Reserved
' ' Text
'{' Punctuation
'op' Name
':' Operator
' ' Text
'DIV' Name
',' Punctuation
' ' Text
'lhs' Name
':' Operator
' ' Text
'lhs' Name
',' Punctuation
' ' Text
'rhs' Name
':' Operator
' ' Text
'rhs' Name
'}' Punctuation
',' Punctuation
' ' Text
'st' Name
'\n ' Text
'else' Keyword.Reserved
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'r' Name
'\n ' Text
'// No right-hand side' Comment.Single
'\n ' Text
'return' Keyword.Reserved
' ' Text
'(' Punctuation
'lhs' Name
',' Punctuation
'st' Name
')' Punctuation
'\n\n' Text
'function' Keyword.Declaration
' ' Text
'parseTerm' Name
'(' Punctuation
'State' Name
' ' Text
'st' Name
')' Punctuation
' ' Text
'-' Operator
'>' Operator
' ' Text
'(' Punctuation
'Expr' Name
',' Punctuation
' ' Text
'State' Name
')' Punctuation
'|' Operator
'SyntaxError' Name
':' Operator
'\n ' Text
'//' Comment.Single
'\n ' Text
'st' Name
' ' Text
'=' Operator
' ' Text
'parseWhiteSpace' Name
'(' Punctuation
'st' Name
')' Punctuation
' \n ' Text
'if' Keyword.Reserved
' ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'<' Operator
' ' Text
'|' Operator
'st' Name
'.' Punctuation
'input' Name
'|' Operator
':' Operator
'\n ' Text
'if' Keyword.Reserved
' ' Text
'ASCII' Name
'.' Punctuation
'isLetter' Name
'(' Punctuation
'st' Name
'.' Punctuation
'input' Name
'[' Punctuation
'st' Name
'.' Punctuation
'pos' Name
']' Punctuation
')' Punctuation
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'parseIdentifier' Name
'(' Punctuation
'st' Name
')' Punctuation
'\n ' Text
'else' Keyword.Reserved
' ' Text
'if' Keyword.Reserved
' ' Text
'ASCII' Name
'.' Punctuation
'isDigit' Name
'(' Punctuation
'st' Name
'.' Punctuation
'input' Name
'[' Punctuation
'st' Name
'.' Punctuation
'pos' Name
']' Punctuation
')' Punctuation
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'parseNumber' Name
'(' Punctuation
'st' Name
')' Punctuation
'\n ' Text
'else' Keyword.Reserved
' ' Text
'if' Keyword.Reserved
' ' Text
'st' Name
'.' Punctuation
'input' Name
'[' Punctuation
'st' Name
'.' Punctuation
'pos' Name
']' Punctuation
' ' Text
'=' Operator
'=' Operator
' ' Text
"'['" Literal.String.Char
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'parseList' Name
'(' Punctuation
'st' Name
')' Punctuation
'\n ' Text
'//' Comment.Single
'\n ' Text
'return' Keyword.Reserved
' ' Text
'SyntaxError' Name
'(' Punctuation
'"' Literal.String
'expecting number or variable' Literal.String
'"' Literal.String
',' Punctuation
'st' Name
'.' Punctuation
'pos' Name
',' Punctuation
'st' Name
'.' Punctuation
'pos' Name
')' Punctuation
'\n\n' Text
'function' Keyword.Declaration
' ' Text
'parseIdentifier' Name
'(' Punctuation
'State' Name
' ' Text
'st' Name
')' Punctuation
' ' Text
'-' Operator
'>' Operator
' ' Text
'(' Punctuation
'Var' Name
',' Punctuation
' ' Text
'State' Name
')' Punctuation
':' Operator
'\n ' Text
'//' Comment.Single
'\n ' Text
'string' Name
' ' Text
'txt' Name
' ' Text
'=' Operator
' ' Text
'"' Literal.String
'"' Literal.String
'\n ' Text
'// inch forward until end of identifier reached' Comment.Single
'\n ' Text
'while' Keyword.Reserved
' ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'<' Operator
' ' Text
'|' Operator
'st' Name
'.' Punctuation
'input' Name
'|' Operator
' ' Text
'&' Operator
'&' Operator
' ' Text
'ASCII' Name
'.' Punctuation
'isLetter' Name
'(' Punctuation
'st' Name
'.' Punctuation
'input' Name
'[' Punctuation
'st' Name
'.' Punctuation
'pos' Name
']' Punctuation
')' Punctuation
':' Operator
'\n ' Text
'txt' Name
' ' Text
'=' Operator
' ' Text
'txt' Name
' ' Text
'+' Operator
'+' Operator
' ' Text
'[' Punctuation
'st' Name
'.' Punctuation
'input' Name
'[' Punctuation
'st' Name
'.' Punctuation
'pos' Name
']' Punctuation
']' Punctuation
'\n ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'=' Operator
' ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'+' Operator
' ' Text
'1' Literal.Number.Integer
'\n ' Text
'return' Keyword.Reserved
' ' Text
'(' Punctuation
'{' Punctuation
'id' Name
':' Operator
'txt' Name
'}' Punctuation
',' Punctuation
' ' Text
'st' Name
')' Punctuation
'\n\n' Text
'function' Keyword.Declaration
' ' Text
'parseNumber' Name
'(' Punctuation
'State' Name
' ' Text
'st' Name
')' Punctuation
' ' Text
'-' Operator
'>' Operator
' ' Text
'(' Punctuation
'Expr' Name
',' Punctuation
' ' Text
'State' Name
')' Punctuation
'|' Operator
'SyntaxError' Name
':' Operator
' \n ' Text
'// inch forward until end of identifier reached' Comment.Single
'\n ' Text
'int' Keyword.Type
' ' Text
'start' Name
' ' Text
'=' Operator
' ' Text
'st' Name
'.' Punctuation
'pos' Name
'\n ' Text
'while' Keyword.Reserved
' ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'<' Operator
' ' Text
'|' Operator
'st' Name
'.' Punctuation
'input' Name
'|' Operator
' ' Text
'&' Operator
'&' Operator
' ' Text
'ASCII' Name
'.' Punctuation
'isDigit' Name
'(' Punctuation
'st' Name
'.' Punctuation
'input' Name
'[' Punctuation
'st' Name
'.' Punctuation
'pos' Name
']' Punctuation
')' Punctuation
':' Operator
'\n ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'=' Operator
' ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'+' Operator
' ' Text
'1' Literal.Number.Integer
' \n ' Text
'//' Comment.Single
'\n ' Text
'int' Keyword.Type
'|' Operator
'null' Keyword.Constant
' ' Text
'iv' Name
' ' Text
'=' Operator
' ' Text
'Int' Name
'.' Punctuation
'parse' Name
'(' Punctuation
'st' Name
'.' Punctuation
'input' Name
'[' Punctuation
'start' Name
'.' Punctuation
'.' Punctuation
'st' Name
'.' Punctuation
'pos' Name
']' Punctuation
')' Punctuation
'\n ' Text
'if' Keyword.Reserved
' ' Text
'iv' Name
' ' Text
'=' Operator
'=' Operator
' ' Text
'null' Keyword.Constant
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'SyntaxError' Name
'(' Punctuation
'"' Literal.String
'Error parsing number' Literal.String
'"' Literal.String
',' Punctuation
'start' Name
',' Punctuation
'st' Name
'.' Punctuation
'pos' Name
')' Punctuation
'\n ' Text
'else' Keyword.Reserved
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'iv' Name
',' Punctuation
' ' Text
'st' Name
'\n\n' Text
'function' Keyword.Declaration
' ' Text
'parseList' Name
'(' Punctuation
'State' Name
' ' Text
'st' Name
')' Punctuation
' ' Text
'-' Operator
'>' Operator
' ' Text
'(' Punctuation
'Expr' Name
',' Punctuation
' ' Text
'State' Name
')' Punctuation
'|' Operator
'SyntaxError' Name
':' Operator
' \n ' Text
'//' Comment.Single
'\n ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'=' Operator
' ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'+' Operator
' ' Text
'1' Literal.Number.Integer
' ' Text
"// skip '['" Comment.Single
'\n ' Text
'st' Name
' ' Text
'=' Operator
' ' Text
'parseWhiteSpace' Name
'(' Punctuation
'st' Name
')' Punctuation
'\n ' Text
'[' Punctuation
'Expr' Name
']' Punctuation
' ' Text
'l' Name
' ' Text
'=' Operator
' ' Text
'[' Punctuation
']' Punctuation
' ' Text
'// initial list' Comment.Single
'\n ' Text
'bool' Keyword.Type
' ' Text
'firstTime' Name
' ' Text
'=' Operator
' ' Text
'true' Keyword.Constant
'\n ' Text
'while' Keyword.Reserved
' ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'<' Operator
' ' Text
'|' Operator
'st' Name
'.' Punctuation
'input' Name
'|' Operator
' ' Text
'&' Operator
'&' Operator
' ' Text
'st' Name
'.' Punctuation
'input' Name
'[' Punctuation
'st' Name
'.' Punctuation
'pos' Name
']' Punctuation
' ' Text
'!' Operator
'=' Operator
' ' Text
"']'" Literal.String.Char
':' Operator
'\n ' Text
'if' Keyword.Reserved
' ' Text
'!' Operator
'firstTime' Name
' ' Text
'&' Operator
'&' Operator
' ' Text
'st' Name
'.' Punctuation
'input' Name
'[' Punctuation
'st' Name
'.' Punctuation
'pos' Name
']' Punctuation
' ' Text
'!' Operator
'=' Operator
' ' Text
"','" Literal.String.Char
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'SyntaxError' Name
'(' Punctuation
'"' Literal.String
'expecting comma' Literal.String
'"' Literal.String
',' Punctuation
'st' Name
'.' Punctuation
'pos' Name
',' Punctuation
'st' Name
'.' Punctuation
'pos' Name
')' Punctuation
'\n ' Text
'else' Keyword.Reserved
' ' Text
'if' Keyword.Reserved
' ' Text
'!' Operator
'firstTime' Name
':' Operator
'\n ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'=' Operator
' ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'+' Operator
' ' Text
'1' Literal.Number.Integer
' ' Text
"// skip ','" Comment.Single
'\n ' Text
'firstTime' Name
' ' Text
'=' Operator
' ' Text
'false' Keyword.Constant
'\n ' Text
'any' Keyword.Type
' ' Text
'r' Name
' ' Text
'=' Operator
' ' Text
'parseAddSubExpr' Name
'(' Punctuation
'st' Name
')' Punctuation
'\n ' Text
'if' Keyword.Reserved
' ' Text
'r' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'SyntaxError' Name
':' Operator
'\n ' Text
'return' Keyword.Reserved
' ' Text
'r' Name
'\n ' Text
'else' Keyword.Reserved
':' Operator
'\n ' Text
'Expr' Name
' ' Text
'e' Name
'\n ' Text
'e' Name
',' Punctuation
'st' Name
' ' Text
'=' Operator
' ' Text
'r' Name
'\n ' Text
'// perform annoying error check ' Comment.Single
'\n ' Text
'l' Name
' ' Text
'=' Operator
' ' Text
'l' Name
' ' Text
'+' Operator
'+' Operator
' ' Text
'[' Punctuation
'e' Name
']' Punctuation
'\n ' Text
'st' Name
' ' Text
'=' Operator
' ' Text
'parseWhiteSpace' Name
'(' Punctuation
'st' Name
')' Punctuation
'\n ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'=' Operator
' ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'+' Operator
' ' Text
'1' Literal.Number.Integer
'\n ' Text
'return' Keyword.Reserved
' ' Text
'l' Name
',' Punctuation
'st' Name
'\n \n' Text
'// Parse all whitespace upto end-of-file' Comment.Single
'\n' Text
'function' Keyword.Declaration
' ' Text
'parseWhiteSpace' Name
'(' Punctuation
'State' Name
' ' Text
'st' Name
')' Punctuation
' ' Text
'-' Operator
'>' Operator
' ' Text
'State' Name
':' Operator
'\n ' Text
'while' Keyword.Reserved
' ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'<' Operator
' ' Text
'|' Operator
'st' Name
'.' Punctuation
'input' Name
'|' Operator
' ' Text
'&' Operator
'&' Operator
' ' Text
'ASCII' Name
'.' Punctuation
'isWhiteSpace' Name
'(' Punctuation
'st' Name
'.' Punctuation
'input' Name
'[' Punctuation
'st' Name
'.' Punctuation
'pos' Name
']' Punctuation
')' Punctuation
':' Operator
'\n ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'=' Operator
' ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'+' Operator
' ' Text
'1' Literal.Number.Integer
'\n ' Text
'return' Keyword.Reserved
' ' Text
'st' Name
'\n\n' Text
'// ====================================================' Comment.Single
'\n' Text
'// Main Method' Comment.Single
'\n' Text
'// ====================================================' Comment.Single
'\n\n' Text
'public' Keyword.Declaration
' ' Text
'method' Keyword.Declaration
' ' Text
'main' Name
'(' Punctuation
'System' Name
'.' Punctuation
'Console' Name
' ' Text
'sys' Name
')' Punctuation
':' Operator
'\n ' Text
'if' Keyword.Reserved
'(' Punctuation
'|' Operator
'sys' Name
'.' Punctuation
'args' Name
'|' Operator
' ' Text
'=' Operator
'=' Operator
' ' Text
'0' Literal.Number.Integer
')' Punctuation
':' Operator
'\n ' Text
'sys' Name
'.' Punctuation
'out' Name
'.' Punctuation
'println' Name
'(' Punctuation
'"' Literal.String
'no parameter provided!' Literal.String
'"' Literal.String
')' Punctuation
'\n ' Text
'else' Keyword.Reserved
':' Operator
'\n ' Text
'File' Name
'.' Punctuation
'Reader' Name
' ' Text
'file' Name
' ' Text
'=' Operator
' ' Text
'File' Name
'.' Punctuation
'Reader' Name
'(' Punctuation
'sys' Name
'.' Punctuation
'args' Name
'[' Punctuation
'0' Literal.Number.Integer
']' Punctuation
')' Punctuation
'\n ' Text
'string' Name
' ' Text
'input' Name
' ' Text
'=' Operator
' ' Text
'ASCII' Name
'.' Punctuation
'fromBytes' Name
'(' Punctuation
'file' Name
'.' Punctuation
'readAll' Name
'(' Punctuation
')' Punctuation
')' Punctuation
'\n \n ' Text
'Environment' Name
' ' Text
'env' Name
' ' Text
'=' Operator
' ' Text
'Environment' Name
'(' Punctuation
')' Punctuation
'\n ' Text
'State' Name
' ' Text
'st' Name
' ' Text
'=' Operator
' ' Text
'{' Punctuation
'pos' Name
':' Operator
' ' Text
'0' Literal.Number.Integer
',' Punctuation
' ' Text
'input' Name
':' Operator
' ' Text
'input' Name
'}' Punctuation
'\n ' Text
'while' Keyword.Reserved
' ' Text
'st' Name
'.' Punctuation
'pos' Name
' ' Text
'<' Operator
' ' Text
'|' Operator
'st' Name
'.' Punctuation
'input' Name
'|' Operator
':' Operator
'\n ' Text
'Stmt' Name
' ' Text
's' Name
'\n ' Text
'any' Keyword.Type
' ' Text
'r' Name
' ' Text
'=' Operator
' ' Text
'parse' Name
'(' Punctuation
'st' Name
')' Punctuation
'\n ' Text
'if' Keyword.Reserved
' ' Text
'r' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'SyntaxError' Name
':' Operator
'\n ' Text
'sys' Name
'.' Punctuation
'out' Name
'.' Punctuation
'println' Name
'(' Punctuation
'"' Literal.String
'syntax error: ' Literal.String
'"' Literal.String
' ' Text
'+' Operator
'+' Operator
' ' Text
'r' Name
'.' Punctuation
'msg' Name
')' Punctuation
' \n ' Text
'return' Keyword.Reserved
'\n ' Text
's' Name
',' Punctuation
'st' Name
' ' Text
'=' Operator
' ' Text
'r' Name
'\n ' Text
'Value' Name
'|' Operator
'RuntimeError' Name
' ' Text
'v' Name
' ' Text
'=' Operator
' ' Text
'evaluate' Name
'(' Punctuation
's' Name
'.' Punctuation
'rhs' Name
',' Punctuation
'env' Name
')' Punctuation
'\n ' Text
'if' Keyword.Reserved
' ' Text
'v' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'RuntimeError' Name
':' Operator
'\n ' Text
'sys' Name
'.' Punctuation
'out' Name
'.' Punctuation
'println' Name
'(' Punctuation
'"' Literal.String
'runtime error: ' Literal.String
'"' Literal.String
' ' Text
'+' Operator
'+' Operator
' ' Text
'v' Name
'.' Punctuation
'msg' Name
')' Punctuation
' \n ' Text
'return' Keyword.Reserved
'\n ' Text
'if' Keyword.Reserved
' ' Text
's' Name
' ' Text
'is' Keyword.Reserved
' ' Text
'Set' Name
':' Operator
'\n ' Text
'env' Name
'[' Punctuation
's' Name
'.' Punctuation
'lhs' Name
']' Punctuation
' ' Text
'=' Operator
' ' Text
'v' Name
'\n ' Text
'else' Keyword.Reserved
':' Operator
'\n ' Text
'sys' Name
'.' Punctuation
'out' Name
'.' Punctuation
'println' Name
'(' Punctuation
'r' Name
')' Punctuation
'\n ' Text
'st' Name
' ' Text
'=' Operator
' ' Text
'parseWhiteSpace' Name
'(' Punctuation
'st' Name
')' Punctuation
'\n \n' Text