Iterator AST

This commit is contained in:
2026-05-05 17:58:28 +02:00
parent ccb6654127
commit b39d52d076
2 changed files with 9 additions and 0 deletions
+4
View File
@@ -112,6 +112,10 @@ pub enum Statement {
update: Box<Statement>, update: Box<Statement>,
body: Box<Statement>, body: Box<Statement>,
}, },
For {
pattern: String,
iterator: Expression,
},
Return(Option<Expression>), Return(Option<Expression>),
Break, Break,
+5
View File
@@ -340,6 +340,11 @@ impl From<pest::iterators::Pair<'_, Rule>> for Statement {
body: Box::new(Statement::from(inner.next().unwrap())), body: Box::new(Statement::from(inner.next().unwrap())),
}, },
Rule::for_stmt => Statement::For {
pattern: inner.next().unwrap().as_str().to_string(),
iterator: inner.next().unwrap().into(),
},
Rule::assign_statement => Statement::VarAssign(VarAssignStmt { Rule::assign_statement => Statement::VarAssign(VarAssignStmt {
target: Expression::from(inner.next().unwrap()), target: Expression::from(inner.next().unwrap()),
value: Expression::from(inner.next().unwrap()), value: Expression::from(inner.next().unwrap()),