-
Notifications
You must be signed in to change notification settings - Fork 4
/
compiler-options.txt
154 lines (105 loc) · 4.68 KB
/
compiler-options.txt
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
M2C, M2J, M2Sharp Compiler Options
Document version 2.0.1, status 2016-09-20
(1) information options, all dialects
--help, -h
--version, -V
--license
(2) diagnostic options, all dialects
--verbose, -v
--lexer-debug
--parser-debug
--print-settings
--errant-semicolons
defaults:
all diagnostic options are off
(3) compilation product options, all dialects
(a) all compilers
--ast, --no-ast
--graph, --no-graph
--xlat, --no-xlat
--obj, --no-obj
--syntax-only (--no-ast, --no-graph, --no-xlat, --no-obj)
--ast-only (--no-graph, --no-xlat, --no-obj)
--graph-only (--no-ast, --no-xlat, --no-obj)
--xlat-only (--no-ast, --no-graph, --no-obj)
--obj-only (--no-ast, --no-graph, --no-xlat)
in combination with --xlat
--strip-comments
--preserve-comments
defaults:
--ast, --xlat, --obj, --preserve-comments
(b) compiler specific
available on M2C:
--c (same as --xlat)
--no-c (same as --no-xlat)
--c-only (--c, --no-ast, --no-graph, --no-obj)
available on M2J:
--java (same as --xlat)
--no-java (same as --no-xlat)
--java-only (--java, --no-ast, --no-graph, --no-obj)
available on M2Sharp:
--cs (same as --xlat)
--no-cs (same as --no-xlat)
--cs-only (--cs, --no-ast, --no-graph, --no-obj)
(4) Dialect options
--ext (see capability table below)
--pim3 (see capability table below)
--pim4 (see capability table below)
default:
--ext
(5) Capability options
(a) available in Extended dialect mode on all compilers
--lowline-identifiers, --no-lowline-identifiers
--to-do-statement, --no-to-do-statement
defaults:
--no-lowline-identifiers, --to-do-statement
(b) available in PIM3 and PIM4 dialect modes on all compilers
--synonyms, --no-synonyms
--octal-literals, --no-octal-literals
--explicit-cast, --no-explicit-cast
--coroutines, --no-coroutines
--variant-records, --no-variant-records
--local-modules, --no-local-modules
--safer
(--no-synonyms, --no-octal-literals, --explicit-cast,
--no-coroutines, --no-variant-records, --no-local-modules)
--compliant
(--synonyms, --octal-literals, --no-explicit-cast,
--coroutines, --variant-records, --local-modules)
defaults:
--safer
(6) Capability overview
most capabilities are determined by the dialect mode, some are user selectable
Capabilities | Extended | PIM3 | PIM4
---------------------------+----------------+----------------+----------------
Synonyms ~, &, <> | off, immutable | off, mutable | off, mutable
Line comments | on, immutable | off, immutable | off, immutable
Prefix literals | on, immutable | off, immutable | off, immutable
Suffix literals | off, immutable | on, immutable | on, immutable
Octal literals | off, immutable | off, mutable | off, mutable
Lowline identifiers | off, mutable | off, immutable | off, immutable
Escape tab and newline | on, immutable | off, immutable | off, immutable
Set difference operator \ | on, immutable | off, immutable | off, immutable
Postfix ++/-- statements | on, immutable | off, immutable | off, immutable
Pragma delimiters <*, *> | on, immutable | off, immutable | off, immutable
---------------------------+----------------+----------------+----------------
Subtyped cardinals | off, immutable | off, immutable | on, immutable
Safe string termination | on, immutable | off, immutable | on, immutable
Import variables immutable | on, immutable | off, immutable | off, immutable
CONST parameters | on, immutable | off, immutable | off, immutable
Variadic parameters | on, immutable | off, immutable | off, immutable
Additional types | on, immutable | off, immutable | off, immutable
Additional functions | on, immutable | off, immutable | off, immutable
Unified conversion | on, immutable | off, immutable | off, immutable
Explicit cast | on, immutable | on, mutable | on, mutable
---------------------------+----------------+----------------+----------------
Coroutines | off, immutable | off, mutable | off, mutable
Variant records | off, immutable | off, mutable | off, mutable
Extensible records | on, immutable | off, immutable | off, immutable
Indeterminate records | on, immutable | off, immutable | off, immutable
Unqualified import | off, immutable | on, immutable | on, immutable
Local modules | off, immutable | off, mutable | off, mutable
WITH statement | off, immutable | on, immutable | on, immutable
TO DO statement | on, mutable | off, immutable | off, immutable
-------------------------------------------------------------------------------
END OF FILE