Commit Graph

2 Commits

Author SHA1 Message Date
Enrico Lumetti e3636d0b05 Introduce different remove-complex-opera* pass
This pass only allows arguments to be variables.
The resulting language is:

let-expr := (Let symbol <simple-expr> <expr>)
simple-expr: (Int num) | (Var symbol) | (Prim op (list-of-symbols))
expr := let-expr | simple-expr
top-level := let-expr

Notably, every top level expression is assigned to a (temporary) variable.
This subset of CVar is particularly easy to translate into bril IR.
2022-05-01 22:46:36 +02:00
Enrico Lumetti 0929ef05f9 Add CVar language and interpreter 2022-05-01 16:02:34 +02:00