Advertisement
Guest User

Untitled

a guest
Mar 25th, 2015
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
F# 0.45 KB | None | 0 0
  1. let rec eval expr lst =
  2.     match expr with
  3.     | ConstInt i                  -> (pushNum (IntVal i)) :: lst
  4.     | PrimOp ("+", lOper, rOper)  -> (evalNumericExpr (+) lOper rOper) :: lst
  5.     | _                 -> failwith "Syntax error"  
  6.  
  7. and evalNumericExpr op lOper rOper =
  8.     let left = eval lOper
  9.     let right = eval rOper
  10.     match (op) with
  11.     | (+) -> "ADD"
  12.     | _   -> failwith "Syntax error"
  13.  
  14. let compile expr =
  15.     eval expr []
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement