Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let lexbuf = Lexing.from_channel stdin
- let parse () = Parser.main Lexer.token lexbuf
- let parse_listFn () = Parser.main_bis Lexer.token lexbuf
- (* avec main et main_bis qui ne differe que sur le type renvoye *)
- let declarations = parse_listFn ()
- let compile e =
- begin
- en_tete ();
- defFun_to_spim declarations;
- engendre e;
- concl ()
- end
- (* la boucle interactive *)
- let calc () =
- try
- parcours_et_verifie [] declarations;
- let result = parse () in
- compile result;
- flush stdout
- with Bad_declaration_idf -> (print_string "fonction mal declaree : son expression contient une fonction non definie\n")
- | Bad_declaration_arg -> (print_string "fonction mal declaree : son expression contient des variables non definies\n")
- | _ -> (print_string "erreur de saisie\n")
- ;;
Add Comment
Please, Sign In to add comment