summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Makefile12
-rw-r--r--src/main.ml13
2 files changed, 20 insertions, 5 deletions
diff --git a/src/Makefile b/src/Makefile
new file mode 100644
index 0000000..4f15695
--- /dev/null
+++ b/src/Makefile
@@ -0,0 +1,12 @@
+BIN=minic++
+
+all: $(BIN)
+
+$(BIN): main.byte
+ cp main.byte minic++
+
+main.byte: main.ml ast.ml parser.mly lexer.mll pretty.ml
+ ocamlbuild main.byte
+
+clean:
+ rm -r _build
diff --git a/src/main.ml b/src/main.ml
index 4ebcbb3..c64381c 100644
--- a/src/main.ml
+++ b/src/main.ml
@@ -17,8 +17,8 @@ let localisation pos =
!ifile l (c-1) c
let options = [
- "-parse-only", Arg.Set parse_only, "Stops after parsing of the input file.";
- "-dump", Arg.Set dump, "Dump the AST after parsing."
+ "--parse-only", Arg.Set parse_only, "Stops after parsing of the input file.";
+ "--dump", Arg.Set dump, "Dump the AST after parsing."
]
let localisation pos =
@@ -52,6 +52,9 @@ let () =
eprintf "Lexical analysis error: %s@." s;
exit 1
| Parser.Error ->
- localisation (Lexing.lexeme_start_p buf);
- eprintf "Parsing error.@.";
- exit 1
+ localisation (Lexing.lexeme_start_p buf);
+ eprintf "Parsing error.@.";
+ exit 1
+ | _ ->
+ eprintf "Unexpected error...@.";
+ exit 2