Skip to content
Snippets Groups Projects

Scheduler additions

Merged Aaron Councilman requested to merge scheduler-additions into main
1 file
+ 13
4
Compare changes
  • Side-by-side
  • Inline
+ 13
4
@@ -27,14 +27,23 @@ Stmt -> Stmt
{ Stmt::ExprStmt { span: $span, exp: $1 } }
| 'fixpoint' FixpointLimit '{' Schedule '}'
{ Stmt::Fixpoint { span: $span, limit: $2, body: Box::new($4) } }
| 'if' Expr '{' Schedule '}'
{ Stmt::IfThenElse { span: $span, cond: $2, thn: Box::new($4), els: None } }
| 'if' Expr '{' Schedule '}' 'else' '{' Schedule '}'
{ Stmt::IfThenElse { span: $span, cond: $2, thn: Box::new($4), els: Some(Box::new($8)) } }
| 'if' Expr '{' Schedule '}' ElseStmt
{ Stmt::IfThenElse { span: $span, cond: $2, thn: Box::new($4), els: $6 } }
| MacroDecl
{ Stmt::MacroDecl { span: $span, def: $1 } }
;
ElseStmt -> Option<Box<OperationList>>
: { None }
| 'else' '{' Schedule '}'
{ Some(Box::new($3)) }
| 'else' 'if' Expr '{' Schedule '}' ElseStmt
{ Some(Box::new(OperationList::ConsStmt(
Stmt::IfThenElse { span: $span, cond: $3, thn: Box::new($5), els: $7 },
Box::new(OperationList::NilStmt()),
))) }
;
FixpointLimit -> FixpointLimit
: { FixpointLimit::NoLimit { span: $span } }
| 'stop_after' 'INT'
Loading