diff --git a/tp/tp-menhir/code/dune-project b/tp/tp-menhir/code/dune-project index ba417fe..ca4766b 100644 --- a/tp/tp-menhir/code/dune-project +++ b/tp/tp-menhir/code/dune-project @@ -1,2 +1,2 @@ -(lang dune 1.4) +(lang dune 1.11) (using menhir 2.0) diff --git a/tp/tp-menhir/code/marthe b/tp/tp-menhir/code/marthe new file mode 100755 index 0000000..b72b7a9 Binary files /dev/null and b/tp/tp-menhir/code/marthe differ diff --git a/tp/tp-menhir/code/marthe.ml b/tp/tp-menhir/code/marthe.ml index 1d3719e..bea78a6 100644 --- a/tp/tp-menhir/code/marthe.ml +++ b/tp/tp-menhir/code/marthe.ml @@ -1,12 +1,12 @@ let rec interactive_loop () = welcome_message (); let rec loop () = - begin try + try read () |> eval |> print - with exn -> - Printf.printf "Error: %s\n%!" (Printexc.to_string exn) - end; - loop () + with End_of_file -> print_newline () + | exn -> + Printf.printf "Error: %s\n%!" (Printexc.to_string exn); + loop () in loop () @@ -18,9 +18,9 @@ and welcome_message () = " and read () = - invite (); input_line stdin |> parse + prompt (); input_line stdin |> parse -and invite () = +and prompt () = Printf.printf "> %!" and parse input = diff --git a/tp/tp-menhir/sujet/tp-menhir.pdf b/tp/tp-menhir/sujet/tp-menhir.pdf index 15e2bae..26ffc1d 100644 Binary files a/tp/tp-menhir/sujet/tp-menhir.pdf and b/tp/tp-menhir/sujet/tp-menhir.pdf differ