@@ -4,14 +4,13 @@ open Lexing
4
4
5
5
module Dummy = struct let truc = 0 end
6
6
7
+
7
8
module DecisionArg : Sign .DecideArg =
8
9
struct
9
- let argument = match (Array. to_list (Sys. argv)) with
10
- | _ :: _ :: q ->
11
- q
12
- | _ ->
13
- Printf. printf " Give a formula to solve\n " ;
14
- exit 1
10
+
11
+ let argument =
12
+ let _ = Cmdline. init () in
13
+ Cmdline. (! axs)
15
14
end
16
15
17
16
module Decision = Decide. GetDecide (DecisionArg )
@@ -39,7 +38,7 @@ let argv = Array.to_list (Sys.argv) in
39
38
if List. mem " --out" argv then
40
39
Printf. printf " pas encore implem'\n "
41
40
else
42
- if List. mem " --all " argv then
41
+ if Cmdline. ( ! optAll) then
43
42
let module Z3 = Solv (Smtz3. SMTz3 )(Decision )(Simplify ) in
44
43
let module MSAT = Solv (Smtmsat. SMTmsat (Dummy ))(Decision )(Simplify ) in
45
44
let module MiniSAT = Solv (Smtminisat. Smtmini )(Decision )(Simplify )
@@ -51,13 +50,13 @@ let argv = Array.to_list (Sys.argv) in
51
50
Printf. printf " c oracle minisat\n " ;
52
51
MiniSAT. solve f |> ignore;
53
52
end
54
- else if List. mem " --z3 " argv then
53
+ else if Cmdline. ( ! optZ3) then
55
54
let module Z3 = Solv (Smtz3. SMTz3 )(Decision )(Simplify )
56
55
in begin
57
56
Printf. printf " c oracle z3\n " ;
58
57
Z3. solve f |> ignore;
59
58
end
60
- else if List. mem " --mSAT " argv then
59
+ else if Cmdline. ( ! optmSAT) then
61
60
let module MSAT = Solv (Smtmsat. SMTmsat (Dummy ))(Decision )(Simplify )
62
61
in begin
63
62
Printf. printf " c oracle mSAT\n " ;
@@ -77,7 +76,7 @@ let argv = Array.to_list (Sys.argv) in
77
76
if List. mem " --out" argv then
78
77
Printf. printf " pas encore implem'\n "
79
78
else
80
- if List. mem " --all " argv then
79
+ if Cmdline. ( ! optAll) then
81
80
let module Z3 = Solv (Smtz3. SMTz3 )(Decision )(Simplify ) in
82
81
let module MSAT = Solv (Smtmsat. SMTmsat (Dummy ))(Decision )(Simplify ) in
83
82
let module MiniSAT = Solv (Smtminisat. Smtmini )(Decision )(Simplify )
@@ -90,14 +89,14 @@ let argv = Array.to_list (Sys.argv) in
90
89
Printf. printf " c oracle minisat\n " ;
91
90
MiniSAT. solve f |> ignore;
92
91
end
93
- else if List. mem " --z3 " argv then
92
+ else if Cmdline. ( ! optZ3) then
94
93
let module Z3 = Solv (Smtz3. SMTz3 )(Decision )(Simplify )
95
94
in begin
96
95
Printf. printf " c " ; Pprinter. print_m f;
97
96
Printf. printf " c oracle z3\n " ;
98
97
Z3. solve f |> ignore;
99
98
end
100
- else if List. mem " --mSAT " argv then
99
+ else if Cmdline. ( ! optmSAT) then
101
100
let module MSAT = Solv (Smtmsat. SMTmsat (Dummy ))(Decision )(Simplify )
102
101
in begin
103
102
Printf. printf " c " ; Pprinter. print_m f;
@@ -119,7 +118,7 @@ let solve_assert f =
119
118
if List. mem " --out" argv then
120
119
Printf. printf " pas encore implem'\n "
121
120
else
122
- if List. mem " --all " argv then
121
+ if Cmdline. ( ! optAll) then
123
122
let module Z3 = Solv (Smtz3. SMTz3 )(Decision )(Simplify ) in
124
123
let module MSAT = Solv (Smtmsat. SMTmsat (Dummy ))(Decision )(Simplify ) in
125
124
let module MiniSAT = Solv (Smtminisat. Smtmini )(Decision )(Simplify )
@@ -132,14 +131,14 @@ let solve_assert f =
132
131
Printf. printf " c oracle minisat\n " ;
133
132
MiniSAT. solve f |> ignore;
134
133
end
135
- else if List. mem " --z3 " argv then
134
+ else if Cmdline. ( ! optZ3) then
136
135
let module Z3 = Solv (Smtz3. SMTz3 )(Decision )(Simplify )
137
136
in begin
138
137
Printf. printf " c " ; Pprinter. print_m f;
139
138
Printf. printf " c oracle z3\n " ;
140
139
Z3. solve f |> ignore;
141
140
end
142
- else if List. mem " --mSAT " argv then
141
+ else if Cmdline. ( ! optmSAT) then
143
142
let module MSAT = Solv (Smtmsat. SMTmsat (Dummy ))(Decision )(Simplify )
144
143
in begin
145
144
Printf. printf " c " ; Pprinter. print_m f;
@@ -156,23 +155,23 @@ let solve_assert f =
156
155
157
156
158
157
let _ =
159
- let argv = Array. to_list ( Sys. argv)
160
- and t0 = Unix. gettimeofday ()
158
+ let _ = Cmdline. init () in
159
+ let t0 = Unix. gettimeofday ()
161
160
in begin
162
161
begin
163
- match argv with
164
- | _ :: filename :: _ ->
162
+ match Cmdline. ( ! file) with
163
+ | Some filename ->
165
164
begin
166
165
let file = open_in filename in
167
166
let lb = Lexing. from_channel file in
168
167
try
169
168
let f = InToHyLoParser. file InToHyLoLexer. next_token lb in
170
- if List. mem " --direct " argv then
169
+ if Cmdline. ( ! optDirect) then
171
170
begin
172
171
Printf. printf " c oracle direct\n " ;
173
- (Direct. solve (Convertisseur. st 0 f) argv ) |> ignore;
172
+ (Direct. solve (Convertisseur. st 0 f) Cmdline. ( ! axs) ) |> ignore;
174
173
end
175
- else if List. mem " --get-simplify " argv then
174
+ else if Cmdline. ( ! optGetSimplify) then
176
175
let fs = Simplify. simplify f in
177
176
let l = Ast_modal. formLength f
178
177
and d = Ast_modal. modDegree f
@@ -186,9 +185,9 @@ let _ =
186
185
else " \027 [31m"
187
186
in
188
187
Printf. printf " %d,%d,%s%d\027 [0m,%s%d\027 [0m\n " l d cls ls cds ds
189
- else if List. mem " --get-assert " argv then
188
+ else if Cmdline. ( ! optGetAssert) then
190
189
solve_assert f
191
- else if List. mem " --get-model " argv then
190
+ else if Cmdline. ( ! optGetAssert) then
192
191
solve_model f
193
192
else
194
193
solve_vanilla f
@@ -206,12 +205,11 @@ let _ =
206
205
end
207
206
| _ ->
208
207
begin
209
- Printf. printf
210
- " Give a filename of a InToHyLo formula to solve.\n " ;
208
+ Cmdline. print_usage () ;
211
209
exit 1 ;
212
210
end ;
213
211
end ;
214
212
flush_all () ;
215
- if List. mem " --time " argv then
213
+ if Cmdline. ( ! optTime) then
216
214
Printf. printf " c Done in %f s \n " (Unix. gettimeofday () -. t0);
217
215
end
0 commit comments