-
Notifications
You must be signed in to change notification settings - Fork 2
/
MockaOptions.def
115 lines (84 loc) · 4.34 KB
/
MockaOptions.def
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
(*!m2pim+mocka*)
(* ------------------------------------------------------------------------ *
* MOCKA Modula-2 Compiler System, Version 1807 *
* *
* Copyright (C) 1988-2000 by *
* GMD Gesellschaft fuer Mathematik und Datenverarbeitung, *
* Ehemalige GMD Forschungsstelle an der Uni Karlsruhe; *
* [EN] German National Research Center for Computer Science, *
* Former GMD Research Lab at the University of Karlsruhe. *
* *
* Copyright (C) 2001-2018 by *
* Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung; *
* [EN] Fraunhofer Society for the Advancement of Applied Research. *
* *
* File 'MockaOptions.def' Copyright (C) 2018, Benjamin Kowarsch *
* ------------------------------------------------------------------------ *)
DEFINITION MODULE MockaOptions;
(* Compiler Options Management *)
(* ------------------------------------------------------------------------
* Compiler options
* ------------------------------------------------------------------------ *)
TYPE Option = (
(* syntax options *)
OctalLiterals, (* --octal-literals, --no-octal-literals *)
SynonymSymbols, (* --synonym-symbols, --no-synonym-symbols *)
(* safety options *)
IndexChecks, (* --index-checks, --no-index-checks *)
RangeChecks, (* --range-checks, --no-range-checks *)
(* product options *)
Elf, (* --elf *)
MachO, (* --mach-o *)
KeepAsm, (* --keep-asm, --purge-asm *)
Build, (* --build, --no-build *)
Static, (* --static, --no-static *)
(* diagnostic options *)
Debug, (* --debug, --no-debug *)
Verbose, (* --verbose *)
ShowSettings ); (* --show-settings *)
(* ------------------------------------------------------------------------
* Default object format
* ------------------------------------------------------------------------ *)
CONST DefaultObjFormat = Elf; (* may be either Elf or MachO *)
(* ------------------------------------------------------------------------
* procedure MockaOptions.ApplyDefaults
* ------------------------------------------------------------------------
* Sets all compiler options to their default values.
*
* Defaults
* OctalLiterals : off
* SynonymSymbols : off
* IndexChecks : on
* RangeChecks : on
* Elf : on
* MachO : off
* KeepAsm : on
* Build : on
* Static : on
* Debug : on
* Verbose : off
* ShowSettings : off
* ------------------------------------------------------------------------ *)
PROCEDURE ApplyDefaults;
(* ------------------------------------------------------------------------
* function MockaOptions.alreadySet(option)
* ------------------------------------------------------------------------
* Returns TRUE if 'option' has been set since module initialisation or
* since default settings have last been applied, otherwise FALSE.
* ------------------------------------------------------------------------ *)
PROCEDURE alreadySet ( option : Option ) : BOOLEAN;
(* ------------------------------------------------------------------------
* procedure MockaOptions.SetValue(option, value)
* ------------------------------------------------------------------------
* Sets compiler option 'option' to 'value'. A value of TRUE enables,
* and a value of FALSE disables an option. Options Elf and MachO are
* mutually exclusive. Enabling Elf disables MachO and vice versa.
* ------------------------------------------------------------------------ *)
PROCEDURE SetValue ( option : Option; value : BOOLEAN );
(* ------------------------------------------------------------------------
* function MockaOptions.isEnabled(option)
* ------------------------------------------------------------------------
* Returns TRUE if 'option' is enabled, otherwise FALSE.
* ------------------------------------------------------------------------ *)
PROCEDURE isEnabled ( option : Option ) : BOOLEAN;
END MockaOptions.