| author | wenzelm | 
| Mon, 04 Jul 2016 20:01:57 +0200 | |
| changeset 63381 | 823660593928 | 
| parent 62878 | 1cec457e0a03 | 
| child 64556 | 851ae0e7b09c | 
| permissions | -rw-r--r-- | 
| 
56303
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
1  | 
(* Title: Pure/ML/ml_options.ML  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
2  | 
Author: Makarius  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
3  | 
|
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
4  | 
ML configuration options.  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
5  | 
*)  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
6  | 
|
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
7  | 
signature ML_OPTIONS =  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
8  | 
sig  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
9  | 
val source_trace_raw: Config.raw  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
10  | 
val source_trace: bool Config.T  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
11  | 
val exception_trace_raw: Config.raw  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
12  | 
val exception_trace: bool Config.T  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
13  | 
val exception_trace_enabled: Context.generic option -> bool  | 
| 62498 | 14  | 
val exception_debugger_raw: Config.raw  | 
15  | 
val exception_debugger: bool Config.T  | 
|
16  | 
val exception_debugger_enabled: Context.generic option -> bool  | 
|
| 60730 | 17  | 
val debugger_raw: Config.raw  | 
18  | 
val debugger: bool Config.T  | 
|
19  | 
val debugger_enabled: Context.generic option -> bool  | 
|
| 
56303
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
20  | 
end;  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
21  | 
|
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
22  | 
structure ML_Options: ML_OPTIONS =  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
23  | 
struct  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
24  | 
|
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
25  | 
(* source trace *)  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
26  | 
|
| 56438 | 27  | 
val source_trace_raw =  | 
28  | 
  Config.declare ("ML_source_trace", @{here}) (fn _ => Config.Bool false);
 | 
|
| 
56303
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
29  | 
val source_trace = Config.bool source_trace_raw;  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
30  | 
|
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
31  | 
|
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
32  | 
(* exception trace *)  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
33  | 
|
| 56438 | 34  | 
val exception_trace_raw = Config.declare_option ("ML_exception_trace", @{here});
 | 
| 
56303
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
35  | 
val exception_trace = Config.bool exception_trace_raw;  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
36  | 
|
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
37  | 
fun exception_trace_enabled NONE =  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
38  | 
(Options.default_bool (Config.name_of exception_trace_raw) handle ERROR _ => false)  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
39  | 
| exception_trace_enabled (SOME context) = Config.get_generic context exception_trace;  | 
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
40  | 
|
| 
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
41  | 
|
| 62498 | 42  | 
(* exception debugger *)  | 
43  | 
||
44  | 
val exception_debugger_raw = Config.declare_option ("ML_exception_debugger", @{here});
 | 
|
45  | 
val exception_debugger = Config.bool exception_debugger_raw;  | 
|
46  | 
||
47  | 
fun exception_debugger_enabled NONE =  | 
|
48  | 
(Options.default_bool (Config.name_of exception_debugger_raw) handle ERROR _ => false)  | 
|
49  | 
| exception_debugger_enabled (SOME context) = Config.get_generic context exception_debugger;  | 
|
50  | 
||
51  | 
||
| 60730 | 52  | 
(* debugger *)  | 
53  | 
||
54  | 
val debugger_raw = Config.declare_option ("ML_debugger", @{here});
 | 
|
55  | 
val debugger = Config.bool debugger_raw;  | 
|
56  | 
||
57  | 
fun debugger_enabled NONE =  | 
|
58  | 
(Options.default_bool (Config.name_of debugger_raw) handle ERROR _ => false)  | 
|
59  | 
| debugger_enabled (SOME context) = Config.get_generic context debugger;  | 
|
60  | 
||
| 
56303
 
4cc3f4db3447
clarified Isabelle/ML bootstrap, such that Execution does not require ML_Compiler;
 
wenzelm 
parents:  
diff
changeset
 | 
61  | 
end;  |