Module sqparse::ast

source ·
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.
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.
A statement, excluding a trailing semicolon.
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.