Trait NodeTypes

Source
pub trait NodeTypes {
Show 30 associated items type Block: From<(Vec<Self::Statement>, Option<Self::LastStatement>)>; type Statement; type LastStatement: LastStatement<Self::Expression>; type AssignStatement: From<(Vec<Self::Variable>, Vec<Self::Expression>)> + Into<Self::Statement>; type CallStatement: Into<Self::Statement>; type DoStatement: From<Self::Block> + Into<Self::Statement>; type FunctionStatement: From<(String, Vec<String>, Option<String>, Self::Block, Vec<String>, bool)> + Into<Self::Statement>; type GenericForStatement: From<(Vec<String>, Vec<Self::Expression>, Self::Block)> + Into<Self::Statement>; type IfStatement: From<(Vec<(Self::Expression, Self::Block)>, Option<Self::Block>)> + Into<Self::Statement>; type LocalAssignStatement: From<(Vec<String>, Vec<Self::Expression>)> + Into<Self::Statement>; type LocalFunctionStatement: From<(String, Vec<String>, bool, Self::Block)> + Into<Self::Statement>; type NumericForStatement: From<(String, Self::Expression, Self::Expression, Option<Self::Expression>, Self::Block)> + Into<Self::Statement>; type RepeatStatement: From<(Self::Expression, Self::Block)> + Into<Self::Statement>; type WhileStatement: From<(Self::Expression, Self::Block)> + Into<Self::Statement>; type Arguments: Arguments<Self::Expression, Self::TableExpression>; type Prefix: Prefix<Self::Expression, Self::CallExpression, Self::FieldExpression, Self::IndexExpression> + Into<Self::Expression> + TryInto<Self::CallStatement>; type Variable: Variable<Self::Prefix>; type Expression: Expression; type BinaryOperator: Eq + BinaryOperator; type BinaryExpression: From<(Self::Expression, Self::BinaryOperator, Self::Expression)> + Into<Self::Expression>; type CallExpression: From<(Self::Prefix, Self::Arguments, Option<String>)> + Into<Self::Expression>; type FieldExpression: From<(Self::Prefix, String)> + Into<Self::Expression>; type FunctionExpression: From<(Vec<String>, bool, Self::Block)> + Into<Self::Expression>; type IndexExpression: From<(Self::Prefix, Self::Expression)> + Into<Self::Expression>; type NumberExpression: From<String> + Into<Self::Expression>; type StringExpression: From<String> + Into<Self::Expression>; type TableEntry: TableEntry<Self::Expression>; type TableExpression: From<Vec<Self::TableEntry>> + Into<Self::Expression>; type UnaryOperator: UnaryOperator; type UnaryExpression: From<(Self::UnaryOperator, Self::Expression)> + Into<Self::Expression>;
}
Expand description

A trait that defines the different node types used by the parser.

Required Associated Types§

Source

type Block: From<(Vec<Self::Statement>, Option<Self::LastStatement>)>

Source

type Statement

Source

type LastStatement: LastStatement<Self::Expression>

Source

type AssignStatement: From<(Vec<Self::Variable>, Vec<Self::Expression>)> + Into<Self::Statement>

Source

type CallStatement: Into<Self::Statement>

Source

type DoStatement: From<Self::Block> + Into<Self::Statement>

Source

type FunctionStatement: From<(String, Vec<String>, Option<String>, Self::Block, Vec<String>, bool)> + Into<Self::Statement>

Source

type GenericForStatement: From<(Vec<String>, Vec<Self::Expression>, Self::Block)> + Into<Self::Statement>

Source

type IfStatement: From<(Vec<(Self::Expression, Self::Block)>, Option<Self::Block>)> + Into<Self::Statement>

Source

type LocalAssignStatement: From<(Vec<String>, Vec<Self::Expression>)> + Into<Self::Statement>

Source

type LocalFunctionStatement: From<(String, Vec<String>, bool, Self::Block)> + Into<Self::Statement>

Source

type NumericForStatement: From<(String, Self::Expression, Self::Expression, Option<Self::Expression>, Self::Block)> + Into<Self::Statement>

Source

type RepeatStatement: From<(Self::Expression, Self::Block)> + Into<Self::Statement>

Source

type WhileStatement: From<(Self::Expression, Self::Block)> + Into<Self::Statement>

Source

type Arguments: Arguments<Self::Expression, Self::TableExpression>

Source

type Prefix: Prefix<Self::Expression, Self::CallExpression, Self::FieldExpression, Self::IndexExpression> + Into<Self::Expression> + TryInto<Self::CallStatement>

Source

type Variable: Variable<Self::Prefix>

Source

type Expression: Expression

Source

type BinaryOperator: Eq + BinaryOperator

Source

type BinaryExpression: From<(Self::Expression, Self::BinaryOperator, Self::Expression)> + Into<Self::Expression>

Source

type CallExpression: From<(Self::Prefix, Self::Arguments, Option<String>)> + Into<Self::Expression>

Source

type FieldExpression: From<(Self::Prefix, String)> + Into<Self::Expression>

Source

type FunctionExpression: From<(Vec<String>, bool, Self::Block)> + Into<Self::Expression>

Source

type IndexExpression: From<(Self::Prefix, Self::Expression)> + Into<Self::Expression>

Source

type NumberExpression: From<String> + Into<Self::Expression>

Source

type StringExpression: From<String> + Into<Self::Expression>

Source

type TableEntry: TableEntry<Self::Expression>

Source

type TableExpression: From<Vec<Self::TableEntry>> + Into<Self::Expression>

Source

type UnaryOperator: UnaryOperator

Source

type UnaryExpression: From<(Self::UnaryOperator, Self::Expression)> + Into<Self::Expression>

Implementors§