lustrec / src / error.ml @ 684d39e7
History | View | Annotate | Download (1.77 KB)
1 | 9094307a | ploc | open Format |
---|---|---|---|
2 | |||
3 | 8446bf03 | ploc | type ident = Lustre_types.ident |
4 | 9094307a | ploc | type error_kind = |
5 | Main_not_found |
||
6 | | Main_wrong_kind |
||
7 | | No_main_specified |
||
8 | | Unbound_symbol of ident |
||
9 | | Already_bound_symbol of ident |
||
10 | | Unknown_library of ident |
||
11 | | Wrong_number of ident |
||
12 | | AlgebraicLoop |
||
13 | f9f06e7d | ploc | | LoadError of string |
14 | 9094307a | ploc | |
15 | let return_code kind = |
||
16 | match kind with |
||
17 | | Main_not_found -> 2 |
||
18 | | Main_wrong_kind -> 3 |
||
19 | | No_main_specified -> 4 |
||
20 | | Unbound_symbol _ -> 5 |
||
21 | | Already_bound_symbol _ -> 6 |
||
22 | | Unknown_library _ -> 7 |
||
23 | | Wrong_number _ -> 8 |
||
24 | | AlgebraicLoop -> 9 |
||
25 | f9f06e7d | ploc | | LoadError _ -> 10 |
26 | 9094307a | ploc | |
27 | let pp_error_msg fmt = function |
||
28 | | Main_not_found -> |
||
29 | fprintf fmt "Could not find the definition of main node %s.@." |
||
30 | !Global.main_node |
||
31 | | Main_wrong_kind -> |
||
32 | fprintf fmt |
||
33 | "Node %s does not correspond to a valid main node definition.@." |
||
34 | !Global.main_node |
||
35 | | No_main_specified -> |
||
36 | fprintf fmt "No main node specified (use -node option)@." |
||
37 | | Unbound_symbol sym -> |
||
38 | fprintf fmt |
||
39 | "%s is undefined.@." |
||
40 | sym |
||
41 | | Already_bound_symbol sym -> |
||
42 | fprintf fmt |
||
43 | "%s is already defined.@." |
||
44 | sym |
||
45 | | Unknown_library sym -> |
||
46 | fprintf fmt |
||
47 | "impossible to load library %s.lusic.@.Please compile the corresponding interface or source file.@." |
||
48 | sym |
||
49 | | Wrong_number sym -> |
||
50 | fprintf fmt |
||
51 | "library %s.lusic has a different version number and may crash compiler.@.Please recompile the corresponding interface or source file.@." |
||
52 | sym |
||
53 | 38ae7765 | ploc | | AlgebraicLoop -> assert false (* should have been handled yet *) |
54 | f9f06e7d | ploc | | LoadError l -> |
55 | fprintf fmt |
||
56 | "Load error: %s.@." |
||
57 | l |
||
58 | 74ca6b61 | ploc | |
59 | 264a4844 | ploc | let pp_warning loc pp_msg = |
60 | Format.eprintf "%a@.Warning: %t@." |
||
61 | 9094307a | ploc | Location.pp_loc loc |
62 | pp_msg |
||
63 | |||
64 | let pp_error loc pp_msg = |
||
65 | Format.eprintf "@.%a@.Error: @[<v 0>%t@]@." |
||
66 | Location.pp_loc loc |
||
67 | pp_msg |
||
68 | |||
69 |