This commit is contained in:
2026-05-04 20:19:34 +02:00
parent 44c8a792cf
commit 73e2680ca0
2 changed files with 12 additions and 0 deletions
+3
View File
@@ -45,6 +45,7 @@ statement_list = { statement* }
statement = _{
expr_stmt
| var_decl_statement
| assign_statement
| if_stmt
| while_stmt
| return_stmt
@@ -65,6 +66,8 @@ continue_stmt = { "continue" ~ ";" }
var_decl_statement = { var_decl ~ ("=" ~ expr)? ~ ";" }
assign_statement = { expr ~ "=" ~ expr ~ ";" }
if_stmt = {
"if" ~ "(" ~ expr ~ ")" ~ statement ~ ("else" ~ statement)?
}
+9
View File
@@ -262,6 +262,15 @@ impl From<pest::iterators::Pair<'_, Rule>> for Statement {
})
}
Rule::assign_statement => {
let mut inner = pair.into_inner();
Statement::VarAssign(VarAssignStmt {
target: Expression::from(inner.next().unwrap()),
value: Expression::from(inner.next().unwrap()),
})
}
_ => unimplemented!(
"Statement parsing not implemented yet: {:?}",
pair.as_rule()