agtest/arith.ag
2021-06-13 18:28:28 -05:00

14 lines
228 B
Plaintext

iface HasValue {
val: int,
}
node Expr : HasValue {
<l:Expr> "+" <r:Expr> => {
self.val = l.val + r.val * l.val;
}
<l:Expr> "*" <r:Expr> => {
self.val = l.val * r.val;
}
<n:r"[0-9]+"> => { self.val = parseInt(n); }
}