18 lines
367 B
Forth
18 lines
367 B
Forth
module AbSyn
|
|
|
|
(* These are the same types as in last week's assignment. *)
|
|
|
|
type VALUE = INT of int
|
|
|
|
type BINOP = BPLUS | BMINUS | BTIMES
|
|
|
|
type RANGEOP = RSUM | RPROD | RMAX | RARGMAX
|
|
|
|
type EXP =
|
|
| CONSTANT of VALUE
|
|
| VARIABLE of string
|
|
| OPERATE of BINOP * EXP * EXP
|
|
| LET_IN of string * EXP * EXP
|
|
| OVER of RANGEOP * string * EXP * EXP * EXP
|
|
|