diff options
author | Alex Auvolat <alex.auvolat@ansys.com> | 2014-06-13 14:17:22 +0200 |
---|---|---|
committer | Alex Auvolat <alex.auvolat@ansys.com> | 2014-06-13 14:17:22 +0200 |
commit | dedc98b0c14262c53e8573d7fe1dcaa370e43fb5 (patch) | |
tree | ac02f7271b054247984caa8aac13451ba98dc15b /main.ml | |
parent | f7868083de2f351b5195149870e6e77398da44f9 (diff) | |
download | scade-analyzer-dedc98b0c14262c53e8573d7fe1dcaa370e43fb5.tar.gz scade-analyzer-dedc98b0c14262c53e8573d7fe1dcaa370e43fb5.zip |
Move a lot of things.
Diffstat (limited to 'main.ml')
-rw-r--r-- | main.ml | 25 |
1 files changed, 14 insertions, 11 deletions
@@ -2,6 +2,7 @@ open Ast (* command line options *) let dump = ref false +let dumprn = ref false let test = ref false let vtest = ref false let ifile = ref "" @@ -10,6 +11,7 @@ let usage = "usage: analyzer [options] file.scade" let options = [ "--dump", Arg.Set dump, "Dump program source."; + "--dump-rn", Arg.Set dumprn, "Dump program source, after renaming."; "--vtest", Arg.Set vtest, "Verbose testing."; "--test", Arg.Set test, "Simple testing."; ] @@ -22,9 +24,13 @@ let () = exit 1 end; - let prog = File_parser.parse_file !ifile in - if !dump then Ast_printer.print_prog Format.std_formatter prog; try + let prog = File_parser.parse_file !ifile in + if !dump then Ast_printer.print_prog Format.std_formatter prog; + + let prog = Sca.rename_prog prog in + if !dumprn then Ast_printer.print_prog Format.std_formatter prog; + if !vtest then begin let s0 = Interpret.program_init_state prog "test" in Format.printf "Init state:@."; @@ -60,13 +66,10 @@ let () = it 0 s0 end with - | Data.Combinatorial_cycle v -> - Format.eprintf "Combinatorial cycle (%s)@." v - | Data.Type_error e -> - Format.eprintf "Typing error: %s@." e - | Data.Not_implemented l -> - Format.eprintf "Not implemented: %s@." l - | Data.No_variable id -> - Format.eprintf "No such variable: %s@." id - + | Util.NoLocError e -> Format.eprintf "Error: %s@." e + | Util.LocError(l, e) -> + Format.eprintf "Error: %s@." e; + List.iter + (fun loc -> Format.eprintf "At: %s@." (Ast_printer.string_of_extent loc)) + l |