[][src]Module rune::ast

AST for the Rune language.

Structs

And

Helper parser for a specifik token kind

Async

Helper parser for a specifik token kind

Await

Helper parser for a specifik token kind

Break

Helper parser for a specifik token kind

CloseBrace

Helper parser for a specifik token kind

CloseBracket

Helper parser for a specifik token kind

CloseParen

Helper parser for a specifik token kind

Colon

Helper parser for a specifik token kind

Comma

Helper parser for a specifik token kind

DeclEnum

An enum declaration.

DeclFile

A parsed file.

DeclFn

A function.

DeclImpl

An impl declaration.

DeclStruct

A struct declaration.

DeclUse

An imported declaration.

Default

Helper parser for a specifik token kind

Dot

Helper parser for a specifik token kind

DotDot

Helper parser for a specifik token kind

Else

Helper parser for a specifik token kind

EmptyBody

A variant declaration that is empty..

Enum

Helper parser for a specifik token kind

Eq

Helper parser for a specifik token kind

ExprAwait

A return statement <expr>.await.

ExprBinary

A binary expression.

ExprBlock

A block of expressions.

ExprBreak

A return statement break [expr].

ExprCall

A function call <expr>(<args>).

ExprClosure

A closure.

ExprElse

An else branch of an if expression.

ExprElseIf

An else branch of an if expression.

ExprFieldAccess

A field access <expr>.<field>.

ExprFor

A let expression let <name> = <expr>;

ExprGroup

A prioritized expression group (<expr>).

ExprIf

An if expression.

ExprIndexGet

An index get operation <target>[<index>].

ExprIndexSet

An index set operation <target>[<index>] = <value>.

ExprIs

An is expression.

ExprIsNot

An is expression.

ExprLet

A let expression let <name> = <expr>;

ExprLoop

A let expression let <name> = <expr>;

ExprMatch

A match expression.

ExprMatchBranch

A match branch.

ExprReturn

A return statement return [expr].

ExprSelect

A select expression that selects over a collection of futures.

ExprTry

A try expression <expr>?.

ExprUnary

A unary expression.

ExprWhile

A let expression let <name> = <expr>;

ExprYield

A return statement break [expr].

Fn

Helper parser for a specifik token kind

For

Helper parser for a specifik token kind

Hash

Helper parser for a specifik token kind

Ident

Helper parser for a specifik token kind

If

Helper parser for a specifik token kind

Impl

Helper parser for a specifik token kind

In

Helper parser for a specifik token kind

Is

Helper parser for a specifik token kind

Label

Helper parser for a specifik token kind

Let

Helper parser for a specifik token kind

LitBool

The unit literal ().

LitByte

A byte literal.

LitByteStr

A string literal.

LitChar

A character literal.

LitNumber

A number literal.

LitObject

A number literal.

LitObjectFieldAssign

A literal object field.

LitStr

A string literal.

LitTemplate

A string literal.

LitTuple

An expression to construct a literal tuple.

LitUnit

The unit literal ().

LitVec

A number literal.

Loop

Helper parser for a specifik token kind

Match

Helper parser for a specifik token kind

Mul

Helper parser for a specifik token kind

Not

Helper parser for a specifik token kind

OpenBrace

Helper parser for a specifik token kind

OpenBracket

Helper parser for a specifik token kind

OpenParen

Helper parser for a specifik token kind

Or

Helper parser for a specifik token kind

Parenthesized

Something parenthesized and comma separated (<T,>*).

PatObject

An object pattern.

PatObjectItem

An object item.

PatPath

A tuple pattern.

PatTuple

A tuple pattern.

PatVec

An array pattern.

Path

A path, where each element is separated by a ::.

Pipe

Helper parser for a specifik token kind

Return

Helper parser for a specifik token kind

Rocket

Helper parser for a specifik token kind

Scope

Helper parser for a specifik token kind

Select

Helper parser for a specifik token kind

Self_

Helper parser for a specifik token kind

SemiColon

Helper parser for a specifik token kind

Star

Helper parser for a specifik token kind

Struct

Helper parser for a specifik token kind

StructBody

A variant declaration.

Template

A resolved and parsed string template.

Token

A single token encountered during parsing.

Try

Helper parser for a specifik token kind

TupleBody

A variant declaration.

Underscore

Helper parser for a specifik token kind

Use

Helper parser for a specifik token kind

While

Helper parser for a specifik token kind

Yield

Helper parser for a specifik token kind

Enums

BinOp

A binary operation.

Condition

An if condition.

Decl

A declaration.

DeclStructBody

A struct declaration.

DeclUseComponent

A use component.

Delimiter

A delimiter, {, {, or [.

Expr

A rune expression.

ExprBreakValue

Things that we can break on.

ExprField

The field being accessed.

FnArg

A single argument in a closure.

Kind

The kind of the token.

LitObjectIdent

A literal object identifier.

LitObjectKey

Possible literal object keys.

Number

A resolved number literal.

NumberKind

The kind of a number literal.

Pat

A pattern match.

TemplateComponent

A single template component.

UnaryOp

A unary operation.