2 |
7u83 |
1 |
<!-- Crown Copyright (c) 1998 -->
|
|
|
2 |
<HTML>
|
|
|
3 |
<HEAD>
|
|
|
4 |
<TITLE>C Checker Reference Manual: Dump format specification</TITLE>
|
|
|
5 |
</HEAD>
|
|
|
6 |
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#400080" ALINK="#FF0000">
|
|
|
7 |
<A NAME=S131>
|
|
|
8 |
<H1>C Checker Reference Manual</H1>
|
|
|
9 |
<H3>January 1998</H3>
|
|
|
10 |
<A HREF="tdfc20.html"><IMG SRC="../images/next.gif" ALT="next section"></A>
|
|
|
11 |
<A HREF="tdfc18.html"><IMG SRC="../images/prev.gif" ALT="previous section"></A>
|
|
|
12 |
<A HREF="tdfc1.html"><IMG SRC="../images/top.gif" ALT="current document"></A>
|
|
|
13 |
<A HREF="../index.html"><IMG SRC="../images/home.gif" ALT="TenDRA home page">
|
|
|
14 |
</A>
|
|
|
15 |
<IMG SRC="../images/no_index.gif" ALT="document index"><P>
|
|
|
16 |
<HR>
|
|
|
17 |
<DL>
|
|
|
18 |
<DT><A HREF="#S132"><B>E.1 </B> - Basics</A><DD>
|
|
|
19 |
<DT><A HREF="#S133"><B>E.2 </B> - Dump commands</A><DD>
|
|
|
20 |
<DT><A HREF="#S134"><B>E.3 </B> - API information</A><DD>
|
|
|
21 |
<DT><A HREF="#S135"><B>E.4 </B> - Base definitions</A><DD>
|
|
|
22 |
<DT><A HREF="#S136"><B>E.5 </B> - Error commands</A><DD>
|
|
|
23 |
<DT><A HREF="#S137"><B>E.6 </B> - File commands</A><DD>
|
|
|
24 |
<DT><A HREF="#S138"><B>E.7 </B> - Identifier commands</A><DD>
|
|
|
25 |
<DT><A HREF="#S139"><B>E.8 </B> - Scope commands</A><DD>
|
|
|
26 |
<DT><A HREF="#S140"><B>E.9 </B> - String command</A><DD>
|
|
|
27 |
<DT><A HREF="#S141"><B>E.10 </B> - Templates</A><DD>
|
|
|
28 |
<DT><A HREF="#S142"><B>E.11 </B> - Token sort information</A>
|
|
|
29 |
<DD>
|
|
|
30 |
<DT><A HREF="#S143"><B>E.12 </B> - Type information</A><DD>
|
|
|
31 |
</DL>
|
|
|
32 |
|
|
|
33 |
<HR>
|
|
|
34 |
<H1>E Dump format specification</H1>
|
|
|
35 |
<A NAME=S132>
|
|
|
36 |
<HR><H2>E.1 Basics</H2>
|
|
|
37 |
<PRE>
|
|
|
38 |
digit : one of 0 1 2 3 4 5 6 7 8 9
|
|
|
39 |
digit-sequence :
|
|
|
40 |
<EM> digit</EM>
|
|
|
41 |
<EM> digit-sequence</EM>
|
|
|
42 |
number :
|
|
|
43 |
<EM> digit-sequence</EM>
|
|
|
44 |
string :
|
|
|
45 |
<EM> <characters></EM>
|
|
|
46 |
<EM> &digit-sequence<characters></EM>
|
|
|
47 |
location :
|
|
|
48 |
<EM> number number number string string</EM>
|
|
|
49 |
<EM> number number number string *</EM>
|
|
|
50 |
<EM> number number number *</EM>
|
|
|
51 |
<EM> number number *</EM>
|
|
|
52 |
<EM> number *</EM>
|
|
|
53 |
<EM> *</EM>
|
|
|
54 |
</PRE>
|
|
|
55 |
<A NAME=S133>
|
|
|
56 |
<HR><H2>E.2 Dump commands</H2>
|
|
|
57 |
<PRE>
|
|
|
58 |
dump-file :
|
|
|
59 |
<EM>command-list</EM><EM>opt</EM>
|
|
|
60 |
command-list :
|
|
|
61 |
<EM> command</EM>
|
|
|
62 |
<EM> command command-list</EM>
|
|
|
63 |
command :
|
|
|
64 |
<EM> B base-definition </EM><EM>base class graph</EM>
|
|
|
65 |
<EM> error-command</EM>
|
|
|
66 |
<EM> file-command</EM>
|
|
|
67 |
<EM> I identifier-command </EM><EM>implicit declarations etc.</EM>
|
|
|
68 |
<EM> identifier-command</EM>
|
|
|
69 |
<EM> scope-command</EM>
|
|
|
70 |
<EM> O identifier identifier </EM><EM>overriding virtual function</EM>
|
|
|
71 |
<EM> P type : type </EM><EM>promotion type specifier</EM>
|
|
|
72 |
<EM> string-command</EM>
|
|
|
73 |
<EM> V number number string </EM><EM>version number</EM>
|
|
|
74 |
<EM> X api-info </EM><EM>external token name</EM>
|
|
|
75 |
<EM> Z template-info</EM> <EM>template instance</EM>
|
|
|
76 |
</PRE>
|
|
|
77 |
<A NAME=S134>
|
|
|
78 |
<HR><H2>E.3 API information</H2>
|
|
|
79 |
<PRE>
|
|
|
80 |
api-info :
|
|
|
81 |
<EM> identifier key identifier string</EM>
|
|
|
82 |
</PRE>
|
|
|
83 |
<A NAME=S135>
|
|
|
84 |
<HR><H2>E.4 Base definitions</H2>
|
|
|
85 |
<PRE>
|
|
|
86 |
virtual :
|
|
|
87 |
<EM> V</EM>
|
|
|
88 |
base-class :
|
|
|
89 |
<EM> number = virtual</EM><EM>opt</EM><EM> access</EM><EM>opt</EM><EM> type-name
|
|
|
90 |
</EM>
|
|
|
91 |
<EM> number :</EM>
|
|
|
92 |
base-list :
|
|
|
93 |
<EM> base-graph</EM>
|
|
|
94 |
<EM> base-graph base-list</EM>
|
|
|
95 |
base-graph :
|
|
|
96 |
<EM> base-class</EM>
|
|
|
97 |
<EM> base-class ( base-list )</EM>
|
|
|
98 |
base-definition :
|
|
|
99 |
<EM> identifier-key number base-graph</EM>
|
|
|
100 |
base-number :
|
|
|
101 |
<EM> number : type-name</EM>
|
|
|
102 |
</PRE>
|
|
|
103 |
<A NAME=S136>
|
|
|
104 |
<HR><H2>E.5 Error commands</H2>
|
|
|
105 |
<PRE>
|
|
|
106 |
error-command :
|
|
|
107 |
<EM> EA error-argument </EM><EM>error argument</EM>
|
|
|
108 |
<EM> EC error-info </EM><EM>continuation error</EM>
|
|
|
109 |
<EM> EF location error-info </EM><EM>fatal error</EM>
|
|
|
110 |
<EM> EI location error-info </EM><EM>internal error</EM>
|
|
|
111 |
<EM> ES location error-info </EM><EM>serious error</EM>
|
|
|
112 |
<EM> EW location error-info </EM><EM>warning</EM>
|
|
|
113 |
error-info :
|
|
|
114 |
<EM> error-name number number</EM>
|
|
|
115 |
error-name :
|
|
|
116 |
<EM> number = string</EM>
|
|
|
117 |
<EM> number</EM>
|
|
|
118 |
error-argument :
|
|
|
119 |
<EM> B base-number</EM>
|
|
|
120 |
<EM> C scope-identifier</EM>
|
|
|
121 |
<EM> E exp</EM>
|
|
|
122 |
<EM> H hashid</EM>
|
|
|
123 |
<EM> I identifier</EM>
|
|
|
124 |
<EM> L location</EM>
|
|
|
125 |
<EM> N nat</EM>
|
|
|
126 |
<EM> S string</EM>
|
|
|
127 |
<EM> T type</EM>
|
|
|
128 |
<EM> V number</EM>
|
|
|
129 |
<EM> V -number</EM>
|
|
|
130 |
</PRE>
|
|
|
131 |
<A NAME=S137>
|
|
|
132 |
<HR><H2>E.6 File commands</H2>
|
|
|
133 |
<PRE>
|
|
|
134 |
file-command :
|
|
|
135 |
<EM> FD number = string stringopt </EM><EM>inclusion directory</EM>
|
|
|
136 |
<EM> FE location </EM><EM>file end</EM>
|
|
|
137 |
<EM> FIA location string </EM><EM>file include with <></EM>
|
|
|
138 |
<EM> FIE location string </EM><EM>include end-up</EM>
|
|
|
139 |
<EM> FIN location string </EM><EM>file include with []</EM>
|
|
|
140 |
<EM> FIQ location string</EM> <EM>file include with ""</EM>
|
|
|
141 |
FIR location <EM>resume file</EM>
|
|
|
142 |
FIS location string <EM>include startup</EM>
|
|
|
143 |
FS location directory <EM>file start</EM>
|
|
|
144 |
directory :
|
|
|
145 |
number
|
|
|
146 |
*
|
|
|
147 |
</PRE>
|
|
|
148 |
<A NAME=S138>
|
|
|
149 |
<HR><H2>E.7 Identifier commands</H2>
|
|
|
150 |
<PRE>
|
|
|
151 |
identifier-command :
|
|
|
152 |
C identifier-info <EM>call identifier</EM>
|
|
|
153 |
D identifier-info type-info <EM>define identifier</EM>
|
|
|
154 |
L identifier-info <EM>use identifier</EM>
|
|
|
155 |
M identifier-info type-info <EM>declare identifier</EM>
|
|
|
156 |
Q identifier-info <EM>end identifier definition</EM>
|
|
|
157 |
T identifier-info type-info <EM>tentatively define identifier</EM>
|
|
|
158 |
U identifier-info <EM>undefine identifier</EM>
|
|
|
159 |
W identifier-info type-info <EM>weak prototype</EM>
|
|
|
160 |
identifier-info :
|
|
|
161 |
identifier-key location identifier
|
|
|
162 |
identifier-key :
|
|
|
163 |
CD <EM>static data member</EM>
|
|
|
164 |
CF function-key <EM>member function</EM>
|
|
|
165 |
CM <EM>data member</EM>
|
|
|
166 |
CS function-key <EM>static member function</EM>
|
|
|
167 |
CV function-key <EM>virtual member function</EM>
|
|
|
168 |
E <EM>enumerator</EM>
|
|
|
169 |
FB function-key <EM>builtin function</EM>
|
|
|
170 |
FE function key <EM>external function</EM>
|
|
|
171 |
FS function-key <EM>static function</EM>
|
|
|
172 |
K <EM>keyword</EM>
|
|
|
173 |
L <EM>label</EM>
|
|
|
174 |
MB <EM>built-in macro</EM>
|
|
|
175 |
MF <EM>function-like macro</EM>
|
|
|
176 |
MO <EM>object-like macro</EM>
|
|
|
177 |
NA <EM>namespace alias</EM>
|
|
|
178 |
NN <EM>namespace name</EM>
|
|
|
179 |
TA <EM>type alias</EM>
|
|
|
180 |
TC <EM>class tag</EM>
|
|
|
181 |
TE <EM>enum tag</EM>
|
|
|
182 |
TS <EM>struct tag</EM>
|
|
|
183 |
TU <EM>union tag</EM>
|
|
|
184 |
VA <EM>automatic variable</EM>
|
|
|
185 |
VE <EM>extern variable</EM>
|
|
|
186 |
VP <EM>function parameter</EM>
|
|
|
187 |
VS <EM>static variable</EM>
|
|
|
188 |
XF <EM>procedure token</EM>
|
|
|
189 |
XO <EM>object token</EM>
|
|
|
190 |
XP <EM>token parameter</EM>
|
|
|
191 |
XT <EM>template parameter</EM>
|
|
|
192 |
function-key :
|
|
|
193 |
empty
|
|
|
194 |
C function-key <EM>C linkage</EM>
|
|
|
195 |
I function-key <EM>inline</EM>
|
|
|
196 |
identifier :
|
|
|
197 |
number = hashid accessopt scope-identifier
|
|
|
198 |
number
|
|
|
199 |
hashid :
|
|
|
200 |
string <EM>simple name</EM>
|
|
|
201 |
C type <EM>constructor</EM>
|
|
|
202 |
D type <EM>destructor</EM>
|
|
|
203 |
O string <EM>operator</EM>
|
|
|
204 |
T type <EM>conversion</EM>
|
|
|
205 |
access :
|
|
|
206 |
B <EM>protected</EM>
|
|
|
207 |
N <EM>public</EM>
|
|
|
208 |
P <EM>private</EM>
|
|
|
209 |
</PRE>
|
|
|
210 |
<A NAME=S139>
|
|
|
211 |
<HR><H2>E.8 Scope commands</H2>
|
|
|
212 |
<PRE>
|
|
|
213 |
scope-command :
|
|
|
214 |
SE scope-key location identifier <EM>end scope</EM>
|
|
|
215 |
SS scope-key location identifier <EM>start scope</EM>
|
|
|
216 |
scope-key :
|
|
|
217 |
B <EM>block scope</EM>
|
|
|
218 |
CC <EM>conditional scope</EM>
|
|
|
219 |
N <EM>namespace scope</EM>
|
|
|
220 |
CF <EM>false conditional scope</EM>
|
|
|
221 |
CT <EM>true conditional scope</EM>
|
|
|
222 |
D <EM>other declarative scope</EM>
|
|
|
223 |
H <EM>header scope</EM>
|
|
|
224 |
S <EM>class scope</EM>
|
|
|
225 |
scope-identifier :
|
|
|
226 |
identifier
|
|
|
227 |
*
|
|
|
228 |
</PRE>
|
|
|
229 |
<A NAME=S140>
|
|
|
230 |
<HR><H2>E.9 String command</H2>
|
|
|
231 |
<PRE>
|
|
|
232 |
string-command :
|
|
|
233 |
A location string <EM>string literal</EM>
|
|
|
234 |
AC location string <EM>character literal</EM>
|
|
|
235 |
ACL location string <EM>wide character literal</EM>
|
|
|
236 |
AL location string <EM>wide string literal</EM>
|
|
|
237 |
</PRE>
|
|
|
238 |
<A NAME=S141>
|
|
|
239 |
<HR><H2>E.10 Templates</H2>
|
|
|
240 |
<PRE>
|
|
|
241 |
specialisation-info :
|
|
|
242 |
token-application
|
|
|
243 |
*
|
|
|
244 |
template-info :
|
|
|
245 |
identifier-key identifier token-application specialisation-info
|
|
|
246 |
</PRE>
|
|
|
247 |
<A NAME=S142>
|
|
|
248 |
<HR><H2>E.11 Token sort information</H2>
|
|
|
249 |
<PRE>
|
|
|
250 |
sort :
|
|
|
251 |
ZEC type-info <EM>constant expression</EM>
|
|
|
252 |
ZEL type-info <EM>lvalue expression</EM>
|
|
|
253 |
ZER type-info <EM>rvalue expression</EM>
|
|
|
254 |
ZF type-info <EM>function</EM>
|
|
|
255 |
ZM type-info : type-name <EM>member</EM>
|
|
|
256 |
ZN <EM>integral constant</EM>
|
|
|
257 |
ZPS parameter-list-opt : sort <EM>procedure type ()</EM>
|
|
|
258 |
ZPG parameter-list-opt ; parameter-list-opt:sort
|
|
|
259 |
<EM> procedure type {}</EM>
|
|
|
260 |
ZS <EM>statement</EM>
|
|
|
261 |
ZTA <EM>arithmetic type</EM>
|
|
|
262 |
ZTF <EM>floating type</EM>
|
|
|
263 |
ZTI <EM>integral type</EM>
|
|
|
264 |
ZTO <EM>opaque type</EM>
|
|
|
265 |
ZTP <EM>scalar type</EM>
|
|
|
266 |
ZTS <EM>structure type</EM>
|
|
|
267 |
ZTt parameter-list-opt : <EM>template type</EM>
|
|
|
268 |
ZTTS <EM>structure tag </EM>
|
|
|
269 |
ZTTU <EM>union tag</EM>
|
|
|
270 |
ZTU <EM>union type</EM>
|
|
|
271 |
ZUF number <EM>function macro</EM>
|
|
|
272 |
ZUO <EM>object macro</EM>
|
|
|
273 |
exp :
|
|
|
274 |
nat
|
|
|
275 |
member :
|
|
|
276 |
identifier
|
|
|
277 |
string
|
|
|
278 |
statement :
|
|
|
279 |
exp
|
|
|
280 |
token-argument :
|
|
|
281 |
C identifier <EM>template argument</EM>
|
|
|
282 |
E exp <EM>expression argument</EM>
|
|
|
283 |
F identifier <EM>function argument</EM>
|
|
|
284 |
M member <EM>member argument</EM>
|
|
|
285 |
N nat <EM>integer constant argument</EM>
|
|
|
286 |
S statement <EM>statement argument</EM>
|
|
|
287 |
T type-info <EM>type argument</EM>
|
|
|
288 |
token-argument-list :
|
|
|
289 |
token-argument
|
|
|
290 |
token-argument , token-argument-list
|
|
|
291 |
token-application :
|
|
|
292 |
T identifier , token-argument-list :
|
|
|
293 |
</PRE>
|
|
|
294 |
<A NAME=S143>
|
|
|
295 |
<HR><H2>E.12 Type information</H2>
|
|
|
296 |
<PRE>
|
|
|
297 |
type-info :
|
|
|
298 |
scope-identifier <EM>for namespace alias</EM>
|
|
|
299 |
sort <EM>for token, macro etc.</EM>
|
|
|
300 |
type <EM>for variable etc.</EM>
|
|
|
301 |
type identifier-opt <EM>for overloaded function</EM>
|
|
|
302 |
type :
|
|
|
303 |
qualifieropt unqualified-type
|
|
|
304 |
qualifier :
|
|
|
305 |
C <EM>const</EM>
|
|
|
306 |
V <EM>volatile</EM>
|
|
|
307 |
CV <EM>const volatile</EM>
|
|
|
308 |
unqualified-type :
|
|
|
309 |
type-name
|
|
|
310 |
token-application
|
|
|
311 |
c <EM>char</EM>
|
|
|
312 |
s <EM>short</EM>
|
|
|
313 |
i <EM>int</EM>
|
|
|
314 |
l <EM>long</EM>
|
|
|
315 |
x <EM>long long</EM>
|
|
|
316 |
f <EM>float</EM>
|
|
|
317 |
d <EM>double</EM>
|
|
|
318 |
r <EM>long double</EM>
|
|
|
319 |
v <EM>void</EM>
|
|
|
320 |
b <EM>bool</EM>
|
|
|
321 |
w <EM>wchar_t</EM>
|
|
|
322 |
Sc <EM>signed char</EM>
|
|
|
323 |
Uc <EM>unsigned char</EM>
|
|
|
324 |
Us <EM>unsigned short</EM>
|
|
|
325 |
Ui <EM>unsigned int</EM>
|
|
|
326 |
Ul <EM>unsigned long</EM>
|
|
|
327 |
Ux <EM>unsigned long long</EM>
|
|
|
328 |
u <EM>bottom</EM>
|
|
|
329 |
y <EM>ptrdiff_t</EM>
|
|
|
330 |
z <EM>size_t</EM>
|
|
|
331 |
a type : type <EM>arithmetic type</EM>
|
|
|
332 |
n nat <EM>literal type</EM>
|
|
|
333 |
p type <EM>promoted type</EM>
|
|
|
334 |
t parameter-listopt : type <EM>template type</EM>
|
|
|
335 |
A natopt : type <EM>array type</EM>
|
|
|
336 |
B nat : type <EM>bitfield type</EM>
|
|
|
337 |
F type parameter-types <EM>function type</EM>
|
|
|
338 |
M type-name : type <EM>pointer to member type</EM>
|
|
|
339 |
P type <EM>pointer type</EM>
|
|
|
340 |
R type <EM>reference type</EM>
|
|
|
341 |
W type parameter-types <EM>weak function type</EM>
|
|
|
342 |
Q string <EM>quoted type</EM>
|
|
|
343 |
* <EM>unknown type</EM>
|
|
|
344 |
parameter-types :
|
|
|
345 |
: exceptionopt qualifieropt : <EM>no parameters</EM>
|
|
|
346 |
. exceptionopt qualifieropt : <EM>ellipsis</EM>
|
|
|
347 |
. exceptionopt qualifieropt . <EM>unknown</EM>
|
|
|
348 |
, type parameter-types
|
|
|
349 |
exception :
|
|
|
350 |
( exception-listopt )
|
|
|
351 |
exception-list :
|
|
|
352 |
type
|
|
|
353 |
type, exception-list
|
|
|
354 |
parameter-list :
|
|
|
355 |
identifier
|
|
|
356 |
identifier , parameter-list
|
|
|
357 |
type-name :
|
|
|
358 |
identifier
|
|
|
359 |
nat :
|
|
|
360 |
+number
|
|
|
361 |
-number
|
|
|
362 |
string
|
|
|
363 |
identifier
|
|
|
364 |
token-application
|
|
|
365 |
</PRE>
|
|
|
366 |
<!-- FM pgf ignored -->
|
|
|
367 |
<HR>
|
|
|
368 |
<P><I>Part of the <A HREF="../index.html">TenDRA Web</A>.<BR>Crown
|
|
|
369 |
Copyright © 1998.</I></P>
|
|
|
370 |
</BODY>
|
|
|
371 |
</HTML>
|