Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let rec eval expr lst =
- match expr with
- | ConstInt i -> (pushNum (IntVal i)) :: lst
- | PrimOp ("+", lOper, rOper) -> (evalNumericExpr (+) lOper rOper) :: lst
- | _ -> failwith "Syntax error"
- and evalNumericExpr op lOper rOper =
- let left = eval lOper
- let right = eval rOper
- match (op) with
- | (+) -> "ADD"
- | _ -> failwith "Syntax error"
- let compile expr =
- eval expr []
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement