Module kailua_syntax::ast [] [src]

The abstract syntax tree (AST).

The basic AST roughly follows Lua's own syntax description. All Kailua-specific variants have names starting with Kailua.

Structs

Attr

An [attribute] syntax in the Kailua types.

Chunk

The parsed chunk, representing a single source file with associated side informations.

FuncKind

A function type for Kailua.

LocalName

Resolved information about each local name.

RenameRef

Similar to NameRef but redefines a local name in the current scope.

SelfParam

A scoped identifier for the implicit self parameter.

Seq

A sequence of items, optionally having a "tail" item for the remainder (e.g. varargs).

Sig

A Kailua-specific function signature.

SlotKind

A type with a modifier, used for nested field types ("slot types").

Table

A table constructor.

TypeSpec

Any node that can be optionally annotated with a Kailua type.

Varargs

A Kailua type for variadic arguments.

Enums

Args

Arguments to a function call.

AttrValue

Any value that can be in the attribute.

BinOp

A bunary operator.

Ex

An expression.

K

A Kailua type.

LocalNameKind

The category of local names.

M

A type modifier for Kailua.

MM

An extended type modifier for Kailua.

NameRef

A resolved reference to the name, either local or global.

Returns

A return type of a function in the Kailua type.

St

A statement.

TokenAux

An auxiliary information generated for each token.

TypeScope

A scope of the named Kailua type (from --# type).

UnOp

A unary operator.

Var

A left-hand side of the assignment.

Type Definitions

Block

A sequence of spanned statements.

Exp

A boxed expression node.

Kind

A boxed Kailua type node.

Stmt

A boxed statement node.