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/moon/example.moon.output
Matthäus G. Chajdas c55bfd37b3 Improve MoonScript lexer.
* Correctly tag whitespace.
* Merge literal string tokens
2021-11-06 16:17:46 +01:00

5595 lines
118 KiB
Text
Generated

'-- transform.moon' Comment.Single
'\n' Text.Whitespace
'-- Leaf Corcoran (leafot@gmail.com) 2011' Comment.Single
'\n' Text.Whitespace
'--' Comment.Single
'\n' Text.Whitespace
'-- This is part of the MoonScript compiler. See <http://moonscript.org>' Comment.Single
'\n' Text.Whitespace
'-- MoonScript is licensed under the MIT License' Comment.Single
'\n' Text.Whitespace
'--' Comment.Single
'\n' Text.Whitespace
'\n' Text.Whitespace
'module' Name
' ' Text
'"' Literal.String.Double
'moonscript.transform' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'package' Name
'.' Operator
'seeall' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
'types' Name
' ' Text
'=' Operator
' ' Text
'require' Name.Builtin
' ' Text
'"' Literal.String.Double
'moonscript.types' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
'util' Name
' ' Text
'=' Operator
' ' Text
'require' Name.Builtin
' ' Text
'"' Literal.String.Double
'moonscript.util' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
'data' Name
' ' Text
'=' Operator
' ' Text
'require' Name.Builtin
' ' Text
'"' Literal.String.Double
'moonscript.data' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
'\n' Text.Whitespace
'import' Keyword
' ' Text
'reversed' Name
' ' Text
'from' Keyword
' ' Text
'util' Name
'\n' Text.Whitespace
'import' Keyword
' ' Text
'ntype' Name
',' Punctuation
' ' Text
'build' Name
',' Punctuation
' ' Text
'smart_node' Name
',' Punctuation
' ' Text
'is_slice' Name
' ' Text
'from' Keyword
' ' Text
'types' Name
'\n' Text.Whitespace
'import' Keyword
' ' Text
'insert' Name
' ' Text
'from' Keyword
' ' Text
'table' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
'export' Keyword
' ' Text
'Statement' Name.Class
',' Punctuation
' ' Text
'Value' Name.Class
',' Punctuation
' ' Text
'NameProxy' Name.Class
',' Punctuation
' ' Text
'LocalName' Name.Class
',' Punctuation
' ' Text
'Run' Name.Class
'\n' Text.Whitespace
'\n' Text.Whitespace
'-- always declares as local' Comment.Single
'\n' Text.Whitespace
'class' Keyword
' ' Text
'LocalName' Name.Class
'\n' Text.Whitespace
' ' Text
'new:' Name.Variable
' ' Text
'(' Keyword.Type
'@name' Name.Variable.Class
')' Keyword.Type
' ' Text
'=>' Name.Function
' ' Text
'self' Name.Builtin.Pseudo
'[' Keyword.Type
'1' Literal.Number.Integer
']' Keyword.Type
' ' Text
'=' Operator
' ' Text
'"' Literal.String.Double
'temp_name' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'get_name:' Name.Variable
' ' Text
'=>' Name.Function
' ' Text
'@name' Name.Variable.Class
'\n' Text.Whitespace
'\n' Text.Whitespace
'class' Keyword
' ' Text
'NameProxy' Name.Class
'\n' Text.Whitespace
' ' Text
'new:' Name.Variable
' ' Text
'(' Keyword.Type
'@prefix' Name.Variable.Class
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'self' Name.Builtin.Pseudo
'[' Keyword.Type
'1' Literal.Number.Integer
']' Keyword.Type
' ' Text
'=' Operator
' ' Text
'"' Literal.String.Double
'temp_name' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'get_name:' Name.Variable
' ' Text
'(' Keyword.Type
'scope' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'not' Keyword
' ' Text
'@name' Name.Variable.Class
'\n' Text.Whitespace
' ' Text
'@name' Name.Variable.Class
' ' Text
'=' Operator
' ' Text
'scope' Name
'\\' Operator
'free_name' Name
' ' Text
'@prefix' Name.Variable.Class
',' Punctuation
' ' Text
'true' Keyword.Constant
'\n' Text.Whitespace
' ' Text
'@name' Name.Variable.Class
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'chain:' Name.Variable
' ' Text
'(' Keyword.Type
'...' Operator
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'items' Name
' ' Text
'=' Operator
' ' Text
'{' Keyword.Type
'...' Operator
'}' Keyword.Type
' ' Text
'-- todo: fix ... propagation' Comment.Single
'\n' Text.Whitespace
' ' Text
'items' Name
' ' Text
'=' Operator
' ' Text
'for' Keyword
' ' Text
'i' Name
' ' Text
'in' Keyword
' ' Text
'*' Operator
'items' Name
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'type' Name.Builtin
'(' Keyword.Type
'i' Name
')' Keyword.Type
' ' Text
'==' Operator
' ' Text
'"' Literal.String.Double
'string' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'dot' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'i' Name
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'i' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'chain' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'base:' Name.Variable
' ' Text
'self' Name.Builtin.Pseudo
'\n' Text.Whitespace
' ' Text
'unpack' Name
' ' Text
'items' Name
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'index:' Name.Variable
' ' Text
'(' Keyword.Type
'key' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'chain' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'base:' Name.Variable
' ' Text
'self' Name.Builtin.Pseudo
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'index' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'key' Name
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'__tostring:' Name.Variable
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'@name' Name.Variable.Class
'\n' Text.Whitespace
' ' Text
'(' Keyword.Type
'"' Literal.String.Double
'name<%s>' Literal.String
'"' Literal.String.Double
')' Keyword.Type
'\\' Operator
'format' Name
' ' Text
'@name' Name.Variable.Class
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'(' Keyword.Type
'"' Literal.String.Double
'name<prefix(%s)>' Literal.String
'"' Literal.String.Double
')' Keyword.Type
'\\' Operator
'format' Name
' ' Text
'@prefix' Name.Variable.Class
'\n' Text.Whitespace
'\n' Text.Whitespace
'class' Keyword
' ' Text
'Run' Name.Class
'\n' Text.Whitespace
' ' Text
'new:' Name.Variable
' ' Text
'(' Keyword.Type
'@fn' Name.Variable.Class
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'self' Name.Builtin.Pseudo
'[' Keyword.Type
'1' Literal.Number.Integer
']' Keyword.Type
' ' Text
'=' Operator
' ' Text
'"' Literal.String.Double
'run' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'call:' Name.Variable
' ' Text
'(' Keyword.Type
'state' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'self' Name.Builtin.Pseudo
'.' Operator
'fn' Name
' ' Text
'state' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
'-- transform the last stm is a list of stms' Comment.Single
'\n' Text.Whitespace
'-- will puke on group' Comment.Single
'\n' Text.Whitespace
'apply_to_last' Name
' ' Text
'=' Operator
' ' Text
'(' Keyword.Type
'stms' Name
',' Punctuation
' ' Text
'fn' Name
')' Keyword.Type
' ' Text
'->' Name.Function
'\n' Text.Whitespace
' ' Text
'-- find last (real) exp' Comment.Single
'\n' Text.Whitespace
' ' Text
'last_exp_id' Name
' ' Text
'=' Operator
' ' Text
'0' Literal.Number.Integer
'\n' Text.Whitespace
' ' Text
'for' Keyword
' ' Text
'i' Name
' ' Text
'=' Operator
' ' Text
'#' Operator
'stms' Name
',' Punctuation
' ' Text
'1' Literal.Number.Integer
',' Punctuation
' ' Text
'-' Operator
'1' Literal.Number.Integer
'\n' Text.Whitespace
' ' Text
'stm' Name
' ' Text
'=' Operator
' ' Text
'stms' Name
'[' Keyword.Type
'i' Name
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'stm' Name
' ' Text
'and' Keyword
' ' Text
'util' Name
'.' Operator
'moon' Name
'.' Operator
'type' Name.Builtin
'(' Keyword.Type
'stm' Name
')' Keyword.Type
' ' Text
'!=' Operator
' ' Text
'Run' Name.Class
'\n' Text.Whitespace
' ' Text
'last_exp_id' Name
' ' Text
'=' Operator
' ' Text
'i' Name
'\n' Text.Whitespace
' ' Text
'break' Keyword
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'return' Keyword
' ' Text
'for' Keyword
' ' Text
'i' Name
',' Punctuation
' ' Text
'stm' Name
' ' Text
'in' Keyword
' ' Text
'ipairs' Name.Builtin
' ' Text
'stms' Name
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'i' Name
' ' Text
'==' Operator
' ' Text
'last_exp_id' Name
'\n' Text.Whitespace
' ' Text
'fn' Name
' ' Text
'stm' Name
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'stm' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
'-- is a body a sindle expression/statement' Comment.Single
'\n' Text.Whitespace
'is_singular' Name
' ' Text
'=' Operator
' ' Text
'(' Keyword.Type
'body' Name
')' Keyword.Type
' ' Text
'->' Name.Function
'\n' Text.Whitespace
' ' Text
'return' Keyword
' ' Text
'false' Keyword.Constant
' ' Text
'if' Keyword
' ' Text
'#' Operator
'body' Name
' ' Text
'!=' Operator
' ' Text
'1' Literal.Number.Integer
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'"' Literal.String.Double
'group' Literal.String
'"' Literal.String.Double
' ' Text
'==' Operator
' ' Text
'ntype' Name
' ' Text
'body' Name
'\n' Text.Whitespace
' ' Text
'is_singular' Name
' ' Text
'body' Name
'[' Keyword.Type
'2' Literal.Number.Integer
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'true' Keyword.Constant
'\n' Text.Whitespace
'\n' Text.Whitespace
'constructor_name' Name
' ' Text
'=' Operator
' ' Text
'"' Literal.String.Double
'new' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
'\n' Text.Whitespace
'class' Keyword
' ' Text
'Transformer' Name.Class
'\n' Text.Whitespace
' ' Text
'new:' Name.Variable
' ' Text
'(' Keyword.Type
'@transformers' Name.Variable.Class
',' Punctuation
' ' Text
'@scope' Name.Variable.Class
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'@seen_nodes' Name.Variable.Class
' ' Text
'=' Operator
' ' Text
'{' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'transform:' Name.Variable
' ' Text
'(' Keyword.Type
'scope' Name
',' Punctuation
' ' Text
'node' Name
',' Punctuation
' ' Text
'...' Operator
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'-- print scope, node, ...' Comment.Single
'\n' Text.Whitespace
' ' Text
'return' Keyword
' ' Text
'node' Name
' ' Text
'if' Keyword
' ' Text
'@seen_nodes' Name.Variable.Class
'[' Keyword.Type
'node' Name
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'@seen_nodes' Name.Variable.Class
'[' Keyword.Type
'node' Name
']' Keyword.Type
' ' Text
'=' Operator
' ' Text
'true' Keyword.Constant
'\n' Text.Whitespace
' ' Text
'while' Keyword
' ' Text
'true' Keyword.Constant
'\n' Text.Whitespace
' ' Text
'transformer' Name
' ' Text
'=' Operator
' ' Text
'@transformers' Name.Variable.Class
'[' Keyword.Type
'ntype' Name
' ' Text
'node' Name
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'res' Name
' ' Text
'=' Operator
' ' Text
'if' Keyword
' ' Text
'transformer' Name
'\n' Text.Whitespace
' ' Text
'transformer' Name
'(' Keyword.Type
'scope' Name
',' Punctuation
' ' Text
'node' Name
',' Punctuation
' ' Text
'...' Operator
')' Keyword.Type
' ' Text
'or' Keyword
' ' Text
'node' Name
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'node' Name
'\n' Text.Whitespace
' ' Text
'return' Keyword
' ' Text
'node' Name
' ' Text
'if' Keyword
' ' Text
'res' Name
' ' Text
'==' Operator
' ' Text
'node' Name
'\n' Text.Whitespace
' ' Text
'node' Name
' ' Text
'=' Operator
' ' Text
'res' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'__call:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
',' Punctuation
' ' Text
'...' Operator
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'@transform' Name.Variable.Class
' ' Text
'@scope' Name.Variable.Class
',' Punctuation
' ' Text
'node' Name
',' Punctuation
' ' Text
'...' Operator
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'instance:' Name.Variable
' ' Text
'(' Keyword.Type
'scope' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'Transformer' Name.Class
' ' Text
'@transformers' Name.Variable.Class
',' Punctuation
' ' Text
'scope' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'can_transform:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'@transformers' Name.Variable.Class
'[' Keyword.Type
'ntype' Name
' ' Text
'node' Name
']' Keyword.Type
' ' Text
'!=' Operator
' ' Text
'nil' Keyword.Constant
'\n' Text.Whitespace
'\n' Text.Whitespace
'construct_comprehension' Name
' ' Text
'=' Operator
' ' Text
'(' Keyword.Type
'inner' Name
',' Punctuation
' ' Text
'clauses' Name
')' Keyword.Type
' ' Text
'->' Name.Function
'\n' Text.Whitespace
' ' Text
'current_stms' Name
' ' Text
'=' Operator
' ' Text
'inner' Name
'\n' Text.Whitespace
' ' Text
'for' Keyword
' ' Text
'_' Name
',' Punctuation
' ' Text
'clause' Name
' ' Text
'in' Keyword
' ' Text
'reversed' Name
' ' Text
'clauses' Name
'\n' Text.Whitespace
' ' Text
't' Name
' ' Text
'=' Operator
' ' Text
'clause' Name
'[' Keyword.Type
'1' Literal.Number.Integer
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'current_stms' Name
' ' Text
'=' Operator
' ' Text
'if' Keyword
' ' Text
't' Name
' ' Text
'==' Operator
' ' Text
'"' Literal.String.Double
'for' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'_' Name
',' Punctuation
' ' Text
'names' Name
',' Punctuation
' ' Text
'iter' Name
' ' Text
'=' Operator
' ' Text
'unpack' Name
' ' Text
'clause' Name
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'foreach' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'names' Name
',' Punctuation
' ' Text
'iter' Name
',' Punctuation
' ' Text
'current_stms' Name
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'elseif' Keyword
' ' Text
't' Name
' ' Text
'==' Operator
' ' Text
'"' Literal.String.Double
'when' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'_' Name
',' Punctuation
' ' Text
'cond' Name
' ' Text
'=' Operator
' ' Text
'unpack' Name
' ' Text
'clause' Name
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'if' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'cond' Name
',' Punctuation
' ' Text
'current_stms' Name
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'error' Name.Builtin
' ' Text
'"' Literal.String.Double
'Unknown comprehension clause: ' Literal.String
'"' Literal.String.Double
'..' Operator
't' Name
'\n' Text.Whitespace
' ' Text
'current_stms' Name
' ' Text
'=' Operator
' ' Text
'{' Keyword.Type
'current_stms' Name
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'current_stms' Name
'[' Keyword.Type
'1' Literal.Number.Integer
']' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
'Statement' Name.Class
' ' Text
'=' Operator
' ' Text
'Transformer' Name.Class
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'assign:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'_' Name
',' Punctuation
' ' Text
'names' Name
',' Punctuation
' ' Text
'values' Name
' ' Text
'=' Operator
' ' Text
'unpack' Name
' ' Text
'node' Name
'\n' Text.Whitespace
' ' Text
'-- bubble cascading assigns' Comment.Single
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'#' Operator
'values' Name
' ' Text
'==' Operator
' ' Text
'1' Literal.Number.Integer
' ' Text
'and' Keyword
' ' Text
'types' Name
'.' Operator
'cascading' Name
'[' Keyword.Type
'ntype' Name
' ' Text
'values' Name
'[' Keyword.Type
'1' Literal.Number.Integer
']' Keyword.Type
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'values' Name
'[' Keyword.Type
'1' Literal.Number.Integer
']' Keyword.Type
' ' Text
'=' Operator
' ' Text
'@transform' Name.Variable.Class
'.' Operator
'statement' Name
' ' Text
'values' Name
'[' Keyword.Type
'1' Literal.Number.Integer
']' Keyword.Type
',' Punctuation
' ' Text
'(' Keyword.Type
'stm' Name
')' Keyword.Type
' ' Text
'->' Name.Function
'\n' Text.Whitespace
' ' Text
't' Name
' ' Text
'=' Operator
' ' Text
'ntype' Name
' ' Text
'stm' Name
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'types' Name
'.' Operator
'is_value' Name
' ' Text
'stm' Name
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'assign' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'names' Name
',' Punctuation
' ' Text
'{' Keyword.Type
'stm' Name
'}' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'stm' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'group' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'declare' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'names' Name
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'values' Name
'[' Keyword.Type
'1' Literal.Number.Integer
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'node' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'export:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'-- assign values if they are included' Comment.Single
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'#' Operator
'node' Name
' ' Text
'>' Operator
' ' Text
'2' Literal.Number.Integer
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'node' Name
'[' Keyword.Type
'2' Literal.Number.Integer
']' Keyword.Type
' ' Text
'==' Operator
' ' Text
'"' Literal.String.Double
'class' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'cls' Name
' ' Text
'=' Operator
' ' Text
'smart_node' Name
' ' Text
'node' Name
'[' Keyword.Type
'3' Literal.Number.Integer
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'group' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'export' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'{' Keyword.Type
'cls' Name
'.' Operator
'name' Name
'}' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'cls' Name
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'group' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'node' Name
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'assign' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'names:' Name.Variable
' ' Text
'node' Name
'[' Keyword.Type
'2' Literal.Number.Integer
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'values:' Name.Variable
' ' Text
'node' Name
'[' Keyword.Type
'3' Literal.Number.Integer
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'nil' Keyword.Constant
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'update:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'_' Name
',' Punctuation
' ' Text
'name' Name
',' Punctuation
' ' Text
'op' Name
',' Punctuation
' ' Text
'exp' Name
' ' Text
'=' Operator
' ' Text
'unpack' Name
' ' Text
'node' Name
'\n' Text.Whitespace
' ' Text
'op_final' Name
' ' Text
'=' Operator
' ' Text
'op' Name
'\\' Operator
'match' Name
' ' Text
'"' Literal.String.Double
'^(.+)=$' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'error' Name.Builtin
' ' Text
'"' Literal.String.Double
'Unknown op: ' Literal.String
'"' Literal.String.Double
'..' Operator
'op' Name
' ' Text
'if' Keyword
' ' Text
'not' Keyword
' ' Text
'op_final' Name
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'assign_one' Name
' ' Text
'name' Name
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'exp' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'name' Name
',' Punctuation
' ' Text
'op_final' Name
',' Punctuation
' ' Text
'exp' Name
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'import:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'_' Name
',' Punctuation
' ' Text
'names' Name
',' Punctuation
' ' Text
'source' Name
' ' Text
'=' Operator
' ' Text
'unpack' Name
' ' Text
'node' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'stubs' Name
' ' Text
'=' Operator
' ' Text
'for' Keyword
' ' Text
'name' Name
' ' Text
'in' Keyword
' ' Text
'*' Operator
'names' Name
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'type' Name.Builtin
'(' Keyword.Type
'name' Name
')' Keyword.Type
' ' Text
'==' Operator
' ' Text
'"' Literal.String.Double
'table' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'name' Name
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'dot' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'name' Name
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'real_names' Name
' ' Text
'=' Operator
' ' Text
'for' Keyword
' ' Text
'name' Name
' ' Text
'in' Keyword
' ' Text
'*' Operator
'names' Name
'\n' Text.Whitespace
' ' Text
'type' Name.Builtin
'(' Keyword.Type
'name' Name
')' Keyword.Type
' ' Text
'==' Operator
' ' Text
'"' Literal.String.Double
'table' Literal.String
'"' Literal.String.Double
' ' Text
'and' Keyword
' ' Text
'name' Name
'[' Keyword.Type
'2' Literal.Number.Integer
']' Keyword.Type
' ' Text
'or' Keyword
' ' Text
'name' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'type' Name.Builtin
'(' Keyword.Type
'source' Name
')' Keyword.Type
' ' Text
'==' Operator
' ' Text
'"' Literal.String.Double
'string' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'assign' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'names:' Name.Variable
' ' Text
'real_names' Name
'\n' Text.Whitespace
' ' Text
'values:' Name.Variable
' ' Text
'[' Keyword.Type
'build' Name
'.' Operator
'chain' Name
' ' Text
'{' Keyword.Type
' ' Text
'base:' Name.Variable
' ' Text
'source' Name
',' Punctuation
' ' Text
'stub' Name
'}' Keyword.Type
' ' Text
'for' Keyword
' ' Text
'stub' Name
' ' Text
'in' Keyword
' ' Text
'*' Operator
'stubs' Name
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'source_name' Name
' ' Text
'=' Operator
' ' Text
'NameProxy' Name.Class
' ' Text
'"' Literal.String.Double
'table' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'group' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'declare' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'real_names' Name
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'build' Name
'[' Keyword.Type
'"' Literal.String.Double
'do' Literal.String
'"' Literal.String.Double
']' Keyword.Type
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'assign_one' Name
' ' Text
'source_name' Name
',' Punctuation
' ' Text
'source' Name
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'assign' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'names:' Name.Variable
' ' Text
'real_names' Name
'\n' Text.Whitespace
' ' Text
'values:' Name.Variable
' ' Text
'[' Keyword.Type
'build' Name
'.' Operator
'chain' Name
' ' Text
'{' Keyword.Type
' ' Text
'base:' Name.Variable
' ' Text
'source_name' Name
',' Punctuation
' ' Text
'stub' Name
'}' Keyword.Type
' ' Text
'for' Keyword
' ' Text
'stub' Name
' ' Text
'in' Keyword
' ' Text
'*' Operator
'stubs' Name
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'comprehension:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
',' Punctuation
' ' Text
'action' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'_' Name
',' Punctuation
' ' Text
'exp' Name
',' Punctuation
' ' Text
'clauses' Name
' ' Text
'=' Operator
' ' Text
'unpack' Name
' ' Text
'node' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'action' Name
' ' Text
'=' Operator
' ' Text
'action' Name
' ' Text
'or' Keyword
' ' Text
'(' Keyword.Type
'exp' Name
')' Keyword.Type
' ' Text
'->' Name.Function
' ' Text
'{' Keyword.Type
'exp' Name
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'construct_comprehension' Name
' ' Text
'action' Name
'(' Keyword.Type
'exp' Name
')' Keyword.Type
',' Punctuation
' ' Text
'clauses' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'-- handle cascading return decorator' Comment.Single
'\n' Text.Whitespace
' ' Text
'if:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
',' Punctuation
' ' Text
'ret' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'ret' Name
'\n' Text.Whitespace
' ' Text
'smart_node' Name
' ' Text
'node' Name
'\n' Text.Whitespace
' ' Text
'-- mutate all the bodies' Comment.Single
'\n' Text.Whitespace
' ' Text
'node' Name
'[' Keyword.Type
"'" Literal.String.Single
'then' Literal.String
"'" Literal.String.Single
']' Keyword.Type
' ' Text
'=' Operator
' ' Text
'apply_to_last' Name
' ' Text
'node' Name
'[' Keyword.Type
"'" Literal.String.Single
'then' Literal.String
"'" Literal.String.Single
']' Keyword.Type
',' Punctuation
' ' Text
'ret' Name
'\n' Text.Whitespace
' ' Text
'for' Keyword
' ' Text
'i' Name
' ' Text
'=' Operator
' ' Text
'4' Literal.Number.Integer
',' Punctuation
' ' Text
'#' Operator
'node' Name
'\n' Text.Whitespace
' ' Text
'case' Name
' ' Text
'=' Operator
' ' Text
'node' Name
'[' Keyword.Type
'i' Name
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'body_idx' Name
' ' Text
'=' Operator
' ' Text
'#' Operator
'node' Name
'[' Keyword.Type
'i' Name
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'case' Name
'[' Keyword.Type
'body_idx' Name
']' Keyword.Type
' ' Text
'=' Operator
' ' Text
'apply_to_last' Name
' ' Text
'case' Name
'[' Keyword.Type
'body_idx' Name
']' Keyword.Type
',' Punctuation
' ' Text
'ret' Name
'\n' Text.Whitespace
' ' Text
'node' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'with:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
',' Punctuation
' ' Text
'ret' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'_' Name
',' Punctuation
' ' Text
'exp' Name
',' Punctuation
' ' Text
'block' Name
' ' Text
'=' Operator
' ' Text
'unpack' Name
' ' Text
'node' Name
'\n' Text.Whitespace
' ' Text
'scope_name' Name
' ' Text
'=' Operator
' ' Text
'NameProxy' Name.Class
' ' Text
'"' Literal.String.Double
'with' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'build' Name
'[' Keyword.Type
'"' Literal.String.Double
'do' Literal.String
'"' Literal.String.Double
']' Keyword.Type
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'assign_one' Name
' ' Text
'scope_name' Name
',' Punctuation
' ' Text
'exp' Name
'\n' Text.Whitespace
' ' Text
'Run' Name.Class
' ' Text
'=>' Name.Function
' ' Text
'@set' Name.Variable.Class
' ' Text
'"' Literal.String.Double
'scope_var' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'scope_name' Name
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'group' Name
' ' Text
'block' Name
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'ret' Name
'\n' Text.Whitespace
' ' Text
'ret' Name
' ' Text
'scope_name' Name
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'foreach:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'smart_node' Name
' ' Text
'node' Name
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'ntype' Name
'(' Keyword.Type
'node' Name
'.' Operator
'iter' Name
')' Keyword.Type
' ' Text
'==' Operator
' ' Text
'"' Literal.String.Double
'unpack' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'list' Name
' ' Text
'=' Operator
' ' Text
'node' Name
'.' Operator
'iter' Name
'[' Keyword.Type
'2' Literal.Number.Integer
']' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'index_name' Name
' ' Text
'=' Operator
' ' Text
'NameProxy' Name.Class
' ' Text
'"' Literal.String.Double
'index' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'list_name' Name
' ' Text
'=' Operator
' ' Text
'NameProxy' Name.Class
' ' Text
'"' Literal.String.Double
'list' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'slice_var' Name
' ' Text
'=' Operator
' ' Text
'nil' Keyword.Constant
'\n' Text.Whitespace
' ' Text
'bounds' Name
' ' Text
'=' Operator
' ' Text
'if' Keyword
' ' Text
'is_slice' Name
' ' Text
'list' Name
'\n' Text.Whitespace
' ' Text
'slice' Name
' ' Text
'=' Operator
' ' Text
'list' Name
'[' Keyword.Type
'#' Operator
'list' Name
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'table.remove' Name.Builtin
' ' Text
'list' Name
'\n' Text.Whitespace
' ' Text
'table.remove' Name.Builtin
' ' Text
'slice' Name
',' Punctuation
' ' Text
'1' Literal.Number.Integer
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'slice' Name
'[' Keyword.Type
'2' Literal.Number.Integer
']' Keyword.Type
' ' Text
'=' Operator
' ' Text
'if' Keyword
' ' Text
'slice' Name
'[' Keyword.Type
'2' Literal.Number.Integer
']' Keyword.Type
' ' Text
'and' Keyword
' ' Text
'slice' Name
'[' Keyword.Type
'2' Literal.Number.Integer
']' Keyword.Type
' ' Text
'!=' Operator
' ' Text
'"' Literal.String.Double
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'max_tmp_name' Name
' ' Text
'=' Operator
' ' Text
'NameProxy' Name.Class
' ' Text
'"' Literal.String.Double
'max' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'slice_var' Name
' ' Text
'=' Operator
' ' Text
'build' Name
'.' Operator
'assign_one' Name
' ' Text
'max_tmp_name' Name
',' Punctuation
' ' Text
'slice' Name
'[' Keyword.Type
'2' Literal.Number.Integer
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'exp' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'max_tmp_name' Name
',' Punctuation
' ' Text
'"' Literal.String.Double
'<' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'0' Literal.Number.Integer
'\n' Text.Whitespace
' ' Text
'"' Literal.String.Double
'and' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'length' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'list_name' Name
'}' Keyword.Type
',' Punctuation
' ' Text
'"' Literal.String.Double
'+' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'max_tmp_name' Name
'\n' Text.Whitespace
' ' Text
'"' Literal.String.Double
'or' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'max_tmp_name' Name
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'length' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'list_name' Name
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'slice' Name
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'1' Literal.Number.Integer
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'length' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'list_name' Name
'}' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'group' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'assign_one' Name
' ' Text
'list_name' Name
',' Punctuation
' ' Text
'list' Name
'\n' Text.Whitespace
' ' Text
'slice_var' Name
'\n' Text.Whitespace
' ' Text
'build' Name
'[' Keyword.Type
'"' Literal.String.Double
'for' Literal.String
'"' Literal.String.Double
']' Keyword.Type
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'name:' Name.Variable
' ' Text
'index_name' Name
'\n' Text.Whitespace
' ' Text
'bounds:' Name.Variable
' ' Text
'bounds' Name
'\n' Text.Whitespace
' ' Text
'body:' Name.Variable
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'assign' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'node' Name
'.' Operator
'names' Name
',' Punctuation
' ' Text
'{' Keyword.Type
'list_name' Name
'\\' Operator
'index' Name
' ' Text
'index_name' Name
'}' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'group' Name
' ' Text
'node' Name
'.' Operator
'body' Name
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'switch:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
',' Punctuation
' ' Text
'ret' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'_' Name
',' Punctuation
' ' Text
'exp' Name
',' Punctuation
' ' Text
'conds' Name
' ' Text
'=' Operator
' ' Text
'unpack' Name
' ' Text
'node' Name
'\n' Text.Whitespace
' ' Text
'exp_name' Name
' ' Text
'=' Operator
' ' Text
'NameProxy' Name.Class
' ' Text
'"' Literal.String.Double
'exp' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'-- convert switch conds into if statment conds' Comment.Single
'\n' Text.Whitespace
' ' Text
'convert_cond' Name
' ' Text
'=' Operator
' ' Text
'(' Keyword.Type
'cond' Name
')' Keyword.Type
' ' Text
'->' Name.Function
'\n' Text.Whitespace
' ' Text
't' Name
',' Punctuation
' ' Text
'case_exp' Name
',' Punctuation
' ' Text
'body' Name
' ' Text
'=' Operator
' ' Text
'unpack' Name
' ' Text
'cond' Name
'\n' Text.Whitespace
' ' Text
'out' Name
' ' Text
'=' Operator
' ' Text
'{' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'insert' Name
' ' Text
'out' Name
',' Punctuation
' ' Text
't' Name
' ' Text
'==' Operator
' ' Text
'"' Literal.String.Double
'case' Literal.String
'"' Literal.String.Double
' ' Text
'and' Keyword
' ' Text
'"' Literal.String.Double
'elseif' Literal.String
'"' Literal.String.Double
' ' Text
'or' Keyword
' ' Text
'"' Literal.String.Double
'else' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
't' Name
' ' Text
'!=' Operator
' ' Text
'"' Literal.String.Double
'else' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'insert' Name
' ' Text
'out' Name
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'exp' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'case_exp' Name
',' Punctuation
' ' Text
'"' Literal.String.Double
'==' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'exp_name' Name
'}' Keyword.Type
' ' Text
'if' Keyword
' ' Text
't' Name
' ' Text
'!=' Operator
' ' Text
'"' Literal.String.Double
'else' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'body' Name
' ' Text
'=' Operator
' ' Text
'case_exp' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'ret' Name
'\n' Text.Whitespace
' ' Text
'body' Name
' ' Text
'=' Operator
' ' Text
'apply_to_last' Name
' ' Text
'body' Name
',' Punctuation
' ' Text
'ret' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'insert' Name
' ' Text
'out' Name
',' Punctuation
' ' Text
'body' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'out' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'first' Name
' ' Text
'=' Operator
' ' Text
'true' Keyword.Constant
'\n' Text.Whitespace
' ' Text
'if_stm' Name
' ' Text
'=' Operator
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'if' Literal.String
'"' Literal.String.Double
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'for' Keyword
' ' Text
'cond' Name
' ' Text
'in' Keyword
' ' Text
'*' Operator
'conds' Name
'\n' Text.Whitespace
' ' Text
'if_cond' Name
' ' Text
'=' Operator
' ' Text
'convert_cond' Name
' ' Text
'cond' Name
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'first' Name
'\n' Text.Whitespace
' ' Text
'first' Name
' ' Text
'=' Operator
' ' Text
'false' Keyword.Constant
'\n' Text.Whitespace
' ' Text
'insert' Name
' ' Text
'if_stm' Name
',' Punctuation
' ' Text
'if_cond' Name
'[' Keyword.Type
'2' Literal.Number.Integer
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'insert' Name
' ' Text
'if_stm' Name
',' Punctuation
' ' Text
'if_cond' Name
'[' Keyword.Type
'3' Literal.Number.Integer
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'insert' Name
' ' Text
'if_stm' Name
',' Punctuation
' ' Text
'if_cond' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'group' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'assign_one' Name
' ' Text
'exp_name' Name
',' Punctuation
' ' Text
'exp' Name
'\n' Text.Whitespace
' ' Text
'if_stm' Name
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'class:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'_' Name
',' Punctuation
' ' Text
'name' Name
',' Punctuation
' ' Text
'parent_val' Name
',' Punctuation
' ' Text
'body' Name
' ' Text
'=' Operator
' ' Text
'unpack' Name
' ' Text
'node' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'-- split apart properties and statements' Comment.Single
'\n' Text.Whitespace
' ' Text
'statements' Name
' ' Text
'=' Operator
' ' Text
'{' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'properties' Name
' ' Text
'=' Operator
' ' Text
'{' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'for' Keyword
' ' Text
'item' Name
' ' Text
'in' Keyword
' ' Text
'*' Operator
'body' Name
'\n' Text.Whitespace
' ' Text
'switch' Keyword
' ' Text
'item' Name
'[' Keyword.Type
'1' Literal.Number.Integer
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'when' Keyword
' ' Text
'"' Literal.String.Double
'stm' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'insert' Name
' ' Text
'statements' Name
',' Punctuation
' ' Text
'item' Name
'[' Keyword.Type
'2' Literal.Number.Integer
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'when' Keyword
' ' Text
'"' Literal.String.Double
'props' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'for' Keyword
' ' Text
'tuple' Name
' ' Text
'in' Keyword
' ' Text
'*' Operator
'item' Name
'[' Keyword.Type
'2' Literal.Number.Integer
',' Punctuation
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'insert' Name
' ' Text
'properties' Name
',' Punctuation
' ' Text
'tuple' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'-- find constructor' Comment.Single
'\n' Text.Whitespace
' ' Text
'constructor' Name
' ' Text
'=' Operator
' ' Text
'nil' Keyword.Constant
'\n' Text.Whitespace
' ' Text
'properties' Name
' ' Text
'=' Operator
' ' Text
'for' Keyword
' ' Text
'tuple' Name
' ' Text
'in' Keyword
' ' Text
'*' Operator
'properties' Name
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'tuple' Name
'[' Keyword.Type
'1' Literal.Number.Integer
']' Keyword.Type
' ' Text
'==' Operator
' ' Text
'constructor_name' Name
'\n' Text.Whitespace
' ' Text
'constructor' Name
' ' Text
'=' Operator
' ' Text
'tuple' Name
'[' Keyword.Type
'2' Literal.Number.Integer
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'nil' Keyword.Constant
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'tuple' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'parent_cls_name' Name
' ' Text
'=' Operator
' ' Text
'NameProxy' Name.Class
' ' Text
'"' Literal.String.Double
'parent' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'base_name' Name
' ' Text
'=' Operator
' ' Text
'NameProxy' Name.Class
' ' Text
'"' Literal.String.Double
'base' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'self_name' Name
' ' Text
'=' Operator
' ' Text
'NameProxy' Name.Class
' ' Text
'"' Literal.String.Double
'self' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'cls_name' Name
' ' Text
'=' Operator
' ' Text
'NameProxy' Name.Class
' ' Text
'"' Literal.String.Double
'class' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'not' Keyword
' ' Text
'constructor' Name
'\n' Text.Whitespace
' ' Text
'constructor' Name
' ' Text
'=' Operator
' ' Text
'build' Name
'.' Operator
'fndef' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'args:' Name.Variable
' ' Text
'{' Keyword.Type
'{' Keyword.Type
'"' Literal.String.Double
'...' Literal.String
'"' Literal.String.Double
'}' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'arrow:' Name.Variable
' ' Text
'"' Literal.String.Double
'fat' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'body:' Name.Variable
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'build' Name
'[' Keyword.Type
'"' Literal.String.Double
'if' Literal.String
'"' Literal.String.Double
']' Keyword.Type
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'cond:' Name.Variable
' ' Text
'parent_cls_name' Name
'\n' Text.Whitespace
' ' Text
'then:' Name.Variable
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'chain' Name
' ' Text
'{' Keyword.Type
' ' Text
'base:' Name.Variable
' ' Text
'"' Literal.String.Double
'super' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'call' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'...' Literal.String
'"' Literal.String.Double
'}' Keyword.Type
'}' Keyword.Type
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'smart_node' Name
' ' Text
'constructor' Name
'\n' Text.Whitespace
' ' Text
'constructor' Name
'.' Operator
'arrow' Name
' ' Text
'=' Operator
' ' Text
'"' Literal.String.Double
'fat' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'cls' Name
' ' Text
'=' Operator
' ' Text
'build' Name
'.' Operator
'table' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'__init' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'constructor' Name
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'__base' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'base_name' Name
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'__name' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'string' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
"'" Literal.String.Single
'"' Literal.String
"'" Literal.String.Single
',' Punctuation
' ' Text
'name' Name
'}' Keyword.Type
'}' Keyword.Type
' ' Text
'-- "quote the string"' Comment.Single
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'__parent' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'parent_cls_name' Name
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'-- look up a name in the class object' Comment.Single
'\n' Text.Whitespace
' ' Text
'class_lookup' Name
' ' Text
'=' Operator
' ' Text
'build' Name
'[' Keyword.Type
'"' Literal.String.Double
'if' Literal.String
'"' Literal.String.Double
']' Keyword.Type
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'cond:' Name.Variable
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'exp' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'"' Literal.String.Double
'val' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'"' Literal.String.Double
'==' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'"' Literal.String.Double
'nil' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'"' Literal.String.Double
'and' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'parent_cls_name' Name
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'then:' Name.Variable
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'parent_cls_name' Name
'\\' Operator
'index' Name
'"' Literal.String.Double
'name' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'insert' Name
' ' Text
'class_lookup' Name
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'else' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'val' Literal.String
'"' Literal.String.Double
'}' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'cls_mt' Name
' ' Text
'=' Operator
' ' Text
'build' Name
'.' Operator
'table' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'__index' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'build' Name
'.' Operator
'fndef' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'args:' Name.Variable
' ' Text
'{' Keyword.Type
'{' Keyword.Type
'"' Literal.String.Double
'cls' Literal.String
'"' Literal.String.Double
'}' Keyword.Type
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'name' Literal.String
'"' Literal.String.Double
'}' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'body:' Name.Variable
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'assign_one' Name
' ' Text
'LocalName' Name.Class
'"' Literal.String.Double
'val' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'build' Name
'.' Operator
'chain' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'base:' Name.Variable
' ' Text
'"' Literal.String.Double
'rawget' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'call' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'{' Keyword.Type
'base_name' Name
',' Punctuation
' ' Text
'"' Literal.String.Double
'name' Literal.String
'"' Literal.String.Double
'}' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'class_lookup' Name
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'__call' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'build' Name
'.' Operator
'fndef' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'args:' Name.Variable
' ' Text
'{' Keyword.Type
'{' Keyword.Type
'"' Literal.String.Double
'cls' Literal.String
'"' Literal.String.Double
'}' Keyword.Type
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'...' Literal.String
'"' Literal.String.Double
'}' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'body:' Name.Variable
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'assign_one' Name
' ' Text
'self_name' Name
',' Punctuation
' ' Text
'build' Name
'.' Operator
'chain' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'base:' Name.Variable
' ' Text
'"' Literal.String.Double
'setmetatable' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'call' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'{}' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'base_name' Name
'}' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'chain' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'base:' Name.Variable
' ' Text
'"' Literal.String.Double
'cls.__init' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'call' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'{' Keyword.Type
'self_name' Name
',' Punctuation
' ' Text
'"' Literal.String.Double
'...' Literal.String
'"' Literal.String.Double
'}' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'self_name' Name
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'cls' Name
' ' Text
'=' Operator
' ' Text
'build' Name
'.' Operator
'chain' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'base:' Name.Variable
' ' Text
'"' Literal.String.Double
'setmetatable' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'call' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'{' Keyword.Type
'cls' Name
',' Punctuation
' ' Text
'cls_mt' Name
'}' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'value' Name
' ' Text
'=' Operator
' ' Text
'nil' Keyword.Constant
'\n' Text.Whitespace
' ' Text
'with' Keyword
' ' Text
'build' Name
'\n' Text.Whitespace
' ' Text
'value' Name
' ' Text
'=' Operator
' ' Text
'.' Operator
'block_exp' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'Run' Name.Class
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'@set' Name.Variable.Class
' ' Text
'"' Literal.String.Double
'super' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'(' Keyword.Type
'block' Name
',' Punctuation
' ' Text
'chain' Name
')' Keyword.Type
' ' Text
'->' Name.Function
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'chain' Name
'\n' Text.Whitespace
' ' Text
'slice' Name
' ' Text
'=' Operator
' ' Text
'[' Keyword.Type
'item' Name
' ' Text
'for' Keyword
' ' Text
'item' Name
' ' Text
'in' Keyword
' ' Text
'*' Operator
'chain' Name
'[' Keyword.Type
'3' Literal.Number.Integer
',' Punctuation
']' Keyword.Type
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'new_chain' Name
' ' Text
'=' Operator
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'chain' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'parent_cls_name' Name
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'head' Name
' ' Text
'=' Operator
' ' Text
'slice' Name
'[' Keyword.Type
'1' Literal.Number.Integer
']' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'head' Name
' ' Text
'==' Operator
' ' Text
'nil' Keyword.Constant
'\n' Text.Whitespace
' ' Text
'return' Keyword
' ' Text
'parent_cls_name' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'switch' Keyword
' ' Text
'head' Name
'[' Keyword.Type
'1' Literal.Number.Integer
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'-- calling super, inject calling name and self into chain' Comment.Single
'\n' Text.Whitespace
' ' Text
'when' Keyword
' ' Text
'"' Literal.String.Double
'call' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'calling_name' Name
' ' Text
'=' Operator
' ' Text
'block' Name
'\\' Operator
'get' Name
'"' Literal.String.Double
'current_block' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'slice' Name
'[' Keyword.Type
'1' Literal.Number.Integer
']' Keyword.Type
' ' Text
'=' Operator
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'call' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'self' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'unpack' Name
' ' Text
'head' Name
'[' Keyword.Type
'2' Literal.Number.Integer
']' Keyword.Type
'}' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'act' Name
' ' Text
'=' Operator
' ' Text
'if' Keyword
' ' Text
'ntype' Name
'(' Keyword.Type
'calling_name' Name
')' Keyword.Type
' ' Text
'!=' Operator
' ' Text
'"' Literal.String.Double
'value' Literal.String
'"' Literal.String.Double
' ' Text
'then' Keyword
' ' Text
'"' Literal.String.Double
'index' Literal.String
'"' Literal.String.Double
' ' Text
'else' Keyword
' ' Text
'"' Literal.String.Double
'dot' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'insert' Name
' ' Text
'new_chain' Name
',' Punctuation
' ' Text
'{' Keyword.Type
'act' Name
',' Punctuation
' ' Text
'calling_name' Name
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'-- colon call on super, replace class with self as first arg' Comment.Single
'\n' Text.Whitespace
' ' Text
'when' Keyword
' ' Text
'"' Literal.String.Double
'colon' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'call' Name
' ' Text
'=' Operator
' ' Text
'head' Name
'[' Keyword.Type
'3' Literal.Number.Integer
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'insert' Name
' ' Text
'new_chain' Name
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'dot' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'head' Name
'[' Keyword.Type
'2' Literal.Number.Integer
']' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'slice' Name
'[' Keyword.Type
'1' Literal.Number.Integer
']' Keyword.Type
' ' Text
'=' Operator
' ' Text
'{' Keyword.Type
' ' Text
'"' Literal.String.Double
'call' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'{' Keyword.Type
' ' Text
'"' Literal.String.Double
'self' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'unpack' Name
' ' Text
'call' Name
'[' Keyword.Type
'2' Literal.Number.Integer
']' Keyword.Type
' ' Text
'}' Keyword.Type
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'insert' Name
' ' Text
'new_chain' Name
',' Punctuation
' ' Text
'item' Name
' ' Text
'for' Keyword
' ' Text
'item' Name
' ' Text
'in' Keyword
' ' Text
'*' Operator
'slice' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'new_chain' Name
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'parent_cls_name' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'.' Operator
'assign_one' Name
' ' Text
'parent_cls_name' Name
',' Punctuation
' ' Text
'parent_val' Name
' ' Text
'==' Operator
' ' Text
'"' Literal.String.Double
'"' Literal.String.Double
' ' Text
'and' Keyword
' ' Text
'"' Literal.String.Double
'nil' Literal.String
'"' Literal.String.Double
' ' Text
'or' Keyword
' ' Text
'parent_val' Name
'\n' Text.Whitespace
' ' Text
'.' Operator
'assign_one' Name
' ' Text
'base_name' Name
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'table' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'properties' Name
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'.' Operator
'assign_one' Name
' ' Text
'base_name' Name
'\\' Operator
'chain' Name
'"' Literal.String.Double
'__index' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'base_name' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'build' Name
'[' Keyword.Type
'"' Literal.String.Double
'if' Literal.String
'"' Literal.String.Double
']' Keyword.Type
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'cond:' Name.Variable
' ' Text
'parent_cls_name' Name
'\n' Text.Whitespace
' ' Text
'then:' Name.Variable
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'.' Operator
'chain' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'base:' Name.Variable
' ' Text
'"' Literal.String.Double
'setmetatable' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'call' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'base_name' Name
',' Punctuation
'\n' Text.Whitespace
' ' Text
'.' Operator
'chain' Name
' ' Text
'{' Keyword.Type
' ' Text
'base:' Name.Variable
' ' Text
'parent_cls_name' Name
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'dot' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'"' Literal.String.Double
'__base' Literal.String
'"' Literal.String.Double
'}' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'.' Operator
'assign_one' Name
' ' Text
'cls_name' Name
',' Punctuation
' ' Text
'cls' Name
'\n' Text.Whitespace
' ' Text
'.' Operator
'assign_one' Name
' ' Text
'base_name' Name
'\\' Operator
'chain' Name
'"' Literal.String.Double
'__class' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'cls_name' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'.' Operator
'group' Name
' ' Text
'if' Keyword
' ' Text
'#' Operator
'statements' Name
' ' Text
'>' Operator
' ' Text
'0' Literal.Number.Integer
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'.' Operator
'assign_one' Name
' ' Text
'LocalName' Name.Class
'"' Literal.String.Double
'self' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'cls_name' Name
'\n' Text.Whitespace
' ' Text
'.' Operator
'group' Name
' ' Text
'statements' Name
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
' ' Text
'else' Keyword
' ' Text
'{' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'cls_name' Name
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'value' Name
' ' Text
'=' Operator
' ' Text
'.' Operator
'group' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'.' Operator
'declare' Name
' ' Text
'names:' Name.Variable
' ' Text
'{' Keyword.Type
'name' Name
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'.' Operator
'assign' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'names:' Name.Variable
' ' Text
'{' Keyword.Type
'name' Name
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'values:' Name.Variable
' ' Text
'{' Keyword.Type
'value' Name
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'value' Name
'\n' Text.Whitespace
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
'class' Keyword
' ' Text
'Accumulator' Name.Class
'\n' Text.Whitespace
' ' Text
'body_idx:' Name.Variable
' ' Text
'{' Keyword.Type
' ' Text
'for:' Name.Variable
' ' Text
'4' Literal.Number.Integer
',' Punctuation
' ' Text
'while:' Name.Variable
' ' Text
'3' Literal.Number.Integer
',' Punctuation
' ' Text
'foreach:' Name.Variable
' ' Text
'4' Literal.Number.Integer
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'new:' Name.Variable
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'@accum_name' Name.Variable.Class
' ' Text
'=' Operator
' ' Text
'NameProxy' Name.Class
' ' Text
'"' Literal.String.Double
'accum' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'@value_name' Name.Variable.Class
' ' Text
'=' Operator
' ' Text
'NameProxy' Name.Class
' ' Text
'"' Literal.String.Double
'value' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'@len_name' Name.Variable.Class
' ' Text
'=' Operator
' ' Text
'NameProxy' Name.Class
' ' Text
'"' Literal.String.Double
'len' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'-- wraps node and mutates body' Comment.Single
'\n' Text.Whitespace
' ' Text
'convert:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'index' Name
' ' Text
'=' Operator
' ' Text
'@body_idx' Name.Variable.Class
'[' Keyword.Type
'ntype' Name
' ' Text
'node' Name
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'node' Name
'[' Keyword.Type
'index' Name
']' Keyword.Type
' ' Text
'=' Operator
' ' Text
'@mutate_body' Name.Variable.Class
' ' Text
'node' Name
'[' Keyword.Type
'index' Name
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'@wrap' Name.Variable.Class
' ' Text
'node' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'-- wrap the node into a block_exp' Comment.Single
'\n' Text.Whitespace
' ' Text
'wrap:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'block_exp' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'assign_one' Name
' ' Text
'@accum_name' Name.Variable.Class
',' Punctuation
' ' Text
'build' Name
'.' Operator
'table' Name
'!' Operator
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'assign_one' Name
' ' Text
'@len_name' Name.Variable.Class
',' Punctuation
' ' Text
'0' Literal.Number.Integer
'\n' Text.Whitespace
' ' Text
'node' Name
'\n' Text.Whitespace
' ' Text
'@accum_name' Name.Variable.Class
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'-- mutates the body of a loop construct to save last value into accumulator' Comment.Single
'\n' Text.Whitespace
' ' Text
'-- can optionally skip nil results' Comment.Single
'\n' Text.Whitespace
' ' Text
'mutate_body:' Name.Variable
' ' Text
'(' Keyword.Type
'body' Name
',' Punctuation
' ' Text
'skip_nil' Name
'=' Operator
'true' Keyword.Constant
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'val' Name
' ' Text
'=' Operator
' ' Text
'if' Keyword
' ' Text
'not' Keyword
' ' Text
'skip_nil' Name
' ' Text
'and' Keyword
' ' Text
'is_singular' Name
' ' Text
'body' Name
'\n' Text.Whitespace
' ' Text
'with' Keyword
' ' Text
'body' Name
'[' Keyword.Type
'1' Literal.Number.Integer
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'body' Name
' ' Text
'=' Operator
' ' Text
'{' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'body' Name
' ' Text
'=' Operator
' ' Text
'apply_to_last' Name
' ' Text
'body' Name
',' Punctuation
' ' Text
'(' Keyword.Type
'n' Name
')' Keyword.Type
' ' Text
'->' Name.Function
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'assign_one' Name
' ' Text
'@value_name' Name.Variable.Class
',' Punctuation
' ' Text
'n' Name
'\n' Text.Whitespace
' ' Text
'@value_name' Name.Variable.Class
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'update' Name
' ' Text
'=' Operator
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'update' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'@len_name' Name.Variable.Class
',' Punctuation
' ' Text
'"' Literal.String.Double
'+=' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'1' Literal.Number.Integer
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'assign_one' Name
' ' Text
'@accum_name' Name.Variable.Class
'\\' Operator
'index' Name
'(' Keyword.Type
'@len_name' Name.Variable.Class
')' Keyword.Type
',' Punctuation
' ' Text
'val' Name
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'skip_nil' Name
'\n' Text.Whitespace
' ' Text
'table.insert' Name.Builtin
' ' Text
'body' Name
',' Punctuation
' ' Text
'build' Name
'[' Keyword.Type
'"' Literal.String.Double
'if' Literal.String
'"' Literal.String.Double
']' Keyword.Type
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'cond:' Name.Variable
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'exp' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'@value_name' Name.Variable.Class
',' Punctuation
' ' Text
'"' Literal.String.Double
'!=' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'"' Literal.String.Double
'nil' Literal.String
'"' Literal.String.Double
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'then:' Name.Variable
' ' Text
'update' Name
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'table.insert' Name.Builtin
' ' Text
'body' Name
',' Punctuation
' ' Text
'build' Name
'.' Operator
'group' Name
' ' Text
'update' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'body' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
'default_accumulator' Name
' ' Text
'=' Operator
' ' Text
'(' Keyword.Type
'node' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'Accumulator' Name.Class
'!' Operator
'\\' Operator
'convert' Name
' ' Text
'node' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
'\n' Text.Whitespace
'implicitly_return' Name
' ' Text
'=' Operator
' ' Text
'(' Keyword.Type
'scope' Name
')' Keyword.Type
' ' Text
'->' Name.Function
'\n' Text.Whitespace
' ' Text
'fn' Name
' ' Text
'=' Operator
' ' Text
'(' Keyword.Type
'stm' Name
')' Keyword.Type
' ' Text
'->' Name.Function
'\n' Text.Whitespace
' ' Text
't' Name
' ' Text
'=' Operator
' ' Text
'ntype' Name
' ' Text
'stm' Name
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'types' Name
'.' Operator
'manual_return' Name
'[' Keyword.Type
't' Name
']' Keyword.Type
' ' Text
'or' Keyword
' ' Text
'not' Keyword
' ' Text
'types' Name
'.' Operator
'is_value' Name
' ' Text
'stm' Name
'\n' Text.Whitespace
' ' Text
'stm' Name
'\n' Text.Whitespace
' ' Text
'elseif' Keyword
' ' Text
'types' Name
'.' Operator
'cascading' Name
'[' Keyword.Type
't' Name
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'scope' Name
'.' Operator
'transform' Name
'.' Operator
'statement' Name
' ' Text
'stm' Name
',' Punctuation
' ' Text
'fn' Name
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
't' Name
' ' Text
'==' Operator
' ' Text
'"' Literal.String.Double
'comprehension' Literal.String
'"' Literal.String.Double
' ' Text
'and' Keyword
' ' Text
'not' Keyword
' ' Text
'types' Name
'.' Operator
'comprehension_has_value' Name
' ' Text
'stm' Name
'\n' Text.Whitespace
' ' Text
'stm' Name
'\n' Text.Whitespace
' ' Text
'else' Keyword
'\n' Text.Whitespace
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'return' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'stm' Name
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'fn' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
'Value' Name.Class
' ' Text
'=' Operator
' ' Text
'Transformer' Name.Class
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'for:' Name.Variable
' ' Text
'default_accumulator' Name
'\n' Text.Whitespace
' ' Text
'while:' Name.Variable
' ' Text
'default_accumulator' Name
'\n' Text.Whitespace
' ' Text
'foreach:' Name.Variable
' ' Text
'default_accumulator' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'comprehension:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'a' Name
' ' Text
'=' Operator
' ' Text
'Accumulator' Name.Class
'!' Operator
'\n' Text.Whitespace
' ' Text
'node' Name
' ' Text
'=' Operator
' ' Text
'@transform' Name.Variable.Class
'.' Operator
'statement' Name
' ' Text
'node' Name
',' Punctuation
' ' Text
'(' Keyword.Type
'exp' Name
')' Keyword.Type
' ' Text
'->' Name.Function
'\n' Text.Whitespace
' ' Text
'a' Name
'\\' Operator
'mutate_body' Name
' ' Text
'{' Keyword.Type
'exp' Name
'}' Keyword.Type
',' Punctuation
' ' Text
'false' Keyword.Constant
'\n' Text.Whitespace
' ' Text
'a' Name
'\\' Operator
'wrap' Name
' ' Text
'node' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'tblcomprehension:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'_' Name
',' Punctuation
' ' Text
'key_exp' Name
',' Punctuation
' ' Text
'value_exp' Name
',' Punctuation
' ' Text
'clauses' Name
' ' Text
'=' Operator
' ' Text
'unpack' Name
' ' Text
'node' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'accum' Name
' ' Text
'=' Operator
' ' Text
'NameProxy' Name.Class
' ' Text
'"' Literal.String.Double
'tbl' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'dest' Name
' ' Text
'=' Operator
' ' Text
'build' Name
'.' Operator
'chain' Name
' ' Text
'{' Keyword.Type
' ' Text
'base:' Name.Variable
' ' Text
'accum' Name
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'index' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'key_exp' Name
'}' Keyword.Type
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'inner' Name
' ' Text
'=' Operator
' ' Text
'build' Name
'.' Operator
'assign_one' Name
' ' Text
'dest' Name
',' Punctuation
' ' Text
'value_exp' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'block_exp' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'assign_one' Name
' ' Text
'accum' Name
',' Punctuation
' ' Text
'build' Name
'.' Operator
'table' Name
'!' Operator
'\n' Text.Whitespace
' ' Text
'construct_comprehension' Name
' ' Text
'{' Keyword.Type
'inner' Name
'}' Keyword.Type
',' Punctuation
' ' Text
'clauses' Name
'\n' Text.Whitespace
' ' Text
'accum' Name
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'fndef:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'smart_node' Name
' ' Text
'node' Name
'\n' Text.Whitespace
' ' Text
'node' Name
'.' Operator
'body' Name
' ' Text
'=' Operator
' ' Text
'apply_to_last' Name
' ' Text
'node' Name
'.' Operator
'body' Name
',' Punctuation
' ' Text
'implicitly_return' Name
' ' Text
'self' Name.Builtin.Pseudo
'\n' Text.Whitespace
' ' Text
'node' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'if:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
' ' Text
'build' Name
'.' Operator
'block_exp' Name
' ' Text
'{' Keyword.Type
' ' Text
'node' Name
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'with:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
' ' Text
'build' Name
'.' Operator
'block_exp' Name
' ' Text
'{' Keyword.Type
' ' Text
'node' Name
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'switch:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'block_exp' Name
' ' Text
'{' Keyword.Type
' ' Text
'node' Name
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'-- pull out colon chain' Comment.Single
'\n' Text.Whitespace
' ' Text
'chain:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'stub' Name
' ' Text
'=' Operator
' ' Text
'node' Name
'[' Keyword.Type
'#' Operator
'node' Name
']' Keyword.Type
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'type' Name.Builtin
'(' Keyword.Type
'stub' Name
')' Keyword.Type
' ' Text
'==' Operator
' ' Text
'"' Literal.String.Double
'table' Literal.String
'"' Literal.String.Double
' ' Text
'and' Keyword
' ' Text
'stub' Name
'[' Keyword.Type
'1' Literal.Number.Integer
']' Keyword.Type
' ' Text
'==' Operator
' ' Text
'"' Literal.String.Double
'colon_stub' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'table.remove' Name.Builtin
' ' Text
'node' Name
',' Punctuation
' ' Text
'#' Operator
'node' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'base_name' Name
' ' Text
'=' Operator
' ' Text
'NameProxy' Name.Class
' ' Text
'"' Literal.String.Double
'base' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'fn_name' Name
' ' Text
'=' Operator
' ' Text
'NameProxy' Name.Class
' ' Text
'"' Literal.String.Double
'fn' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'is_super' Name
' ' Text
'=' Operator
' ' Text
'node' Name
'[' Keyword.Type
'2' Literal.Number.Integer
']' Keyword.Type
' ' Text
'==' Operator
' ' Text
'"' Literal.String.Double
'super' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'@transform' Name.Variable.Class
'.' Operator
'value' Name
' ' Text
'build' Name
'.' Operator
'block_exp' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'assign' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'names:' Name.Variable
' ' Text
'{' Keyword.Type
'base_name' Name
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'values:' Name.Variable
' ' Text
'{' Keyword.Type
'node' Name
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'assign' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'names:' Name.Variable
' ' Text
'{' Keyword.Type
'fn_name' Name
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'values:' Name.Variable
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'chain' Name
' ' Text
'{' Keyword.Type
' ' Text
'base:' Name.Variable
' ' Text
'base_name' Name
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'dot' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'stub' Name
'[' Keyword.Type
'2' Literal.Number.Integer
']' Keyword.Type
'}' Keyword.Type
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'fndef' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'args:' Name.Variable
' ' Text
'{' Keyword.Type
'{' Keyword.Type
'"' Literal.String.Double
'...' Literal.String
'"' Literal.String.Double
'}' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'body:' Name.Variable
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'chain' Name
' ' Text
'{' Keyword.Type
'\n' Text.Whitespace
' ' Text
'base:' Name.Variable
' ' Text
'fn_name' Name
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'call' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'{' Keyword.Type
'is_super' Name
' ' Text
'and' Keyword
' ' Text
'"' Literal.String.Double
'self' Literal.String
'"' Literal.String.Double
' ' Text
'or' Keyword
' ' Text
'base_name' Name
',' Punctuation
' ' Text
'"' Literal.String.Double
'...' Literal.String
'"' Literal.String.Double
'}' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'block_exp:' Name.Variable
' ' Text
'(' Keyword.Type
'node' Name
')' Keyword.Type
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'_' Name
',' Punctuation
' ' Text
'body' Name
' ' Text
'=' Operator
' ' Text
'unpack' Name
' ' Text
'node' Name
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'fn' Name
' ' Text
'=' Operator
' ' Text
'nil' Keyword.Constant
'\n' Text.Whitespace
' ' Text
'arg_list' Name
' ' Text
'=' Operator
' ' Text
'{' Keyword.Type
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'insert' Name
' ' Text
'body' Name
',' Punctuation
' ' Text
'Run' Name.Class
' ' Text
'=>' Name.Function
'\n' Text.Whitespace
' ' Text
'if' Keyword
' ' Text
'@has_varargs' Name.Variable.Class
'\n' Text.Whitespace
' ' Text
'insert' Name
' ' Text
'arg_list' Name
',' Punctuation
' ' Text
'"' Literal.String.Double
'...' Literal.String
'"' Literal.String.Double
'\n' Text.Whitespace
' ' Text
'insert' Name
' ' Text
'fn' Name
'.' Operator
'args' Name
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'...' Literal.String
'"' Literal.String.Double
'}' Keyword.Type
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text
'fn' Name
' ' Text
'=' Operator
' ' Text
'smart_node' Name
' ' Text
'build' Name
'.' Operator
'fndef' Name
' ' Text
'body:' Name.Variable
' ' Text
'body' Name
'\n' Text.Whitespace
' ' Text
'build' Name
'.' Operator
'chain' Name
' ' Text
'{' Keyword.Type
' ' Text
'base:' Name.Variable
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'parens' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'fn' Name
'}' Keyword.Type
',' Punctuation
' ' Text
'{' Keyword.Type
'"' Literal.String.Double
'call' Literal.String
'"' Literal.String.Double
',' Punctuation
' ' Text
'arg_list' Name
'}' Keyword.Type
' ' Text
'}' Keyword.Type
'\n' Text.Whitespace
'}' Keyword.Type
'\n' Text.Whitespace