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.