(* The simple language of lambda: * v | (e1 e2) | \v.e ********************************) %% %term ident of string | lambda | dot | lbracket | rbracket | EOF %nonterm START of lambda_term | EXP of lambda_term %eop EOF %pos int %name lam %noshift EOF %nodefault %verbose %% START : EXP (EXP) EXP : ident (Var ident) | lbracket EXP EXP rbracket (App(EXP1,EXP2)) | lambda ident dot EXP (Abs(Var(ident),EXP))