Enum rurtle::parse::ast::Node
[−]
[src]
pub enum Node { StatementList(Vec<Node>), IfStatement(Box<Node>, Box<Node>, Option<Box<Node>>), RepeatStatement(Box<Node>, Box<Node>), WhileStatement(Box<Node>, Box<Node>), LearnStatement(String, Vec<String>, Box<Node>), TryStatement(Box<Node>, Box<Node>), Comparison(Box<Node>, CompOp, Box<Node>), Addition(Box<Node>, Vec<(AddOp, Node)>), Multiplication(Box<Node>, Vec<(MulOp, Node)>), FuncCall(String, Vec<Node>), ReturnStatement(Box<Node>), List(Vec<Node>), StringLiteral(String), Number(f32), Variable(String), }
Variants
StatementList | A list of statements as found inside a loop body |
IfStatement | The if conditional (expression, true-clause, maybe false-clause) |
RepeatStatement | The repeat statement (count, loop body) |
WhileStatement | The while statement (condition, loop body) |
LearnStatement | The function definition statement (func name, func arg names, func body) |
TryStatement | A block that ignores errors, the first element is the "ordinary" block, the second element is the block that will be called when an exception occurs |
Comparison | |
Addition | Addition or subtraction. One addition may hold more than one operation. |
Multiplication | Multiplication and division. One multiplication may hole more than one operation. |
FuncCall | A function call (function, arguments) |
ReturnStatement | |
List | |
StringLiteral | |
Number | |
Variable |