36 "Run Nitpick automatically.") |
36 "Run Nitpick automatically.") |
37 |
37 |
38 type raw_param = string * string list |
38 type raw_param = string * string list |
39 |
39 |
40 val default_default_params = |
40 val default_default_params = |
41 [("card", "1\<midarrow>10"), |
41 [("card", "1\<emdash>10"), |
42 ("iter", "0,1,2,4,8,12,16,20,24,28"), |
42 ("iter", "0,1,2,4,8,12,16,20,24,28"), |
43 ("bits", "1,2,3,4,6,8,10,12,14,16"), |
43 ("bits", "1,2,3,4,6,8,10,12,14,16"), |
44 ("bisim_depth", "9"), |
44 ("bisim_depth", "9"), |
45 ("box", "smart"), |
45 ("box", "smart"), |
46 ("finitize", "smart"), |
46 ("finitize", "smart"), |
146 |
146 |
147 val set_default_raw_param = |
147 val set_default_raw_param = |
148 Data.map o fold (AList.update (op =)) o normalize_raw_param |
148 Data.map o fold (AList.update (op =)) o normalize_raw_param |
149 val default_raw_params = Data.get |
149 val default_raw_params = Data.get |
150 |
150 |
151 fun is_punctuation s = (s = "," orelse s = "-" orelse s = "\<midarrow>") |
151 fun is_punctuation s = (s = "," orelse s = "-" orelse s = "\<emdash>") |
152 |
152 |
153 fun stringify_raw_param_value [] = "" |
153 fun stringify_raw_param_value [] = "" |
154 | stringify_raw_param_value [s] = s |
154 | stringify_raw_param_value [s] = s |
155 | stringify_raw_param_value (s1 :: s2 :: ss) = |
155 | stringify_raw_param_value (s1 :: s2 :: ss) = |
156 s1 ^ (if is_punctuation s1 orelse is_punctuation s2 then "" else " ") ^ |
156 s1 ^ (if is_punctuation s1 orelse is_punctuation s2 then "" else " ") ^ |
185 | value => SOME (do_int name value) |
185 | value => SOME (do_int name value) |
186 fun int_range_from_string name min_int s = |
186 fun int_range_from_string name min_int s = |
187 let |
187 let |
188 val (k1, k2) = |
188 val (k1, k2) = |
189 (case space_explode "-" s of |
189 (case space_explode "-" s of |
190 [s] => the_default (s, s) (first_field "\<midarrow>" s) |
190 [s] => the_default (s, s) (first_field "\<emdash>" s) |
191 | ["", s2] => ("-" ^ s2, "-" ^ s2) |
191 | ["", s2] => ("-" ^ s2, "-" ^ s2) |
192 | [s1, s2] => (s1, s2) |
192 | [s1, s2] => (s1, s2) |
193 | _ => raise Option) |
193 | _ => raise Option) |
194 |> pairself (maxed_int_from_string min_int) |
194 |> pairself (maxed_int_from_string min_int) |
195 in if k1 <= k2 then k1 upto k2 else k1 downto k2 end |
195 in if k1 <= k2 then k1 upto k2 else k1 downto k2 end |