Expand description
Abstract syntax tree definitions outputted by the parser.
The “root” node in a tree is usually a Program.
A program contains Statements.
A statement may contain Expressions and Types.
Structs
An array literal.
An array type.
Value in an array.
A binary expression - assignment, comparison, test, or math.
A block statement.
A
break statement.A function call expression.
Anonymous definition of a class.
A class definition statement.
A class literal.
Optional extends part of
ClassDefinition.Member of a
ClassDefinition with an optional attribute table.A comma expression, with two or more sub-expressions.
A
const definition statement.An out-of-band constructor definition statement.
A
continue statement.A
delaythread statement.A delegate expression.
A
do-while statement.An empty statement.
An
enum definition statement.Entry in an
EnumStatement.An expect expression.
An expression statement.
A
for loop statement.Optional index definition in a
ForeachStatement.A
foreach loop statement.List of captured variables (aka free variables) in a
FunctionDefinition.Anonymous function definition in a function literal, function definition, class method, or table function.
A function definition statement.
Environment that is bound to a
FunctionDefinition.A function literal.
Parameter definition in a
FunctionParams list.Parameter definition in a
FunctionRefType.A function reference type.
A generic type.
A global definition statement.
A
globalize_all_functions statement.An identifier token.
An
if statement, with an optional else block.An index expression.
A single literal value.
A
local type.A nullable type.
An expression enclosed in parentheses.
A named type.
An expression with a postfix operator.
An expression with a prefixed operator.
Contains statements that form a program.
A property access expression.
A reference type.
A
return statement.A reference to a variable in the root table.
A list of at least one sub-grammar, separated by an individual token.
A list of at least one sub-grammar, separated by an individual token, with an optional trailing
separator.
A statement.
Anonymous definition of a struct.
A struct definition statement.
Property of a struct in a
StructDefinition.An anonymous struct type.
Case block in a
SwitchStatement.A
switch statement.A table literal.
Slot in a
TableExpression with an optional separator.A ternary expression.
A
thread statement.A
throw statement.A
try-catch statement.A type definition statement.
An
untyped statement.Variable definition with an optional initializer.
A variable definition statement.
A variable reference.
Initializer for some kind of variable or constant.
A
var type.A vector literal.
A
wait statement.A
waitthread statement.A
while statement.A
yield statement.Enums
A binary operator in a
BinaryExpression.An expression.
Definition part of a
ForStatement.Parameter definition in a
FunctionDefinition.Right-hand-side of a
GlobalStatement.Trailing part of an
IfStatement.A method identifier.
A postfix operator in a
PostfixExpression.Table of precedence values for different kinds of expression operators.
A prefix operator in a
PrefixExpression.Slot in a
TableExpression or ClassDefinition.A statement, excluding a trailing semicolon.
Condition in a
SwitchCase.Slot in a
TableExpression.A type.
Type Definitions
A list of zero or more sub-grammars, separated by an individual token.
A list of zero or more sub-grammars, separated by an individual token, with an optional trailing
separator if the list has at least one sub-grammar.