-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathExport List Format.txt
85 lines (58 loc) · 1.02 KB
/
Export List Format.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
Simple Format for Export List Files
Purpose
Upon processing a definition module, a list of all exported identifiers and
their kind is written into an export list (.exl) file.
File Format (EBNF)
exportList :=
header section* EOF
;
header :=
exporter importers?
;
exporter :=
'X:' Ident ';'
;
importers :=
'I:' ( '*' | identlist) ';'
;
identlist :=
ident (',' ident)* ';'
;
section :=
typeSection | constSection | varSection | funcSection | procSection
;
typeSection :=
'T:' identlist ';'
;
constSection :=
'C:' qualident (',' qualident )* ';'
;
qualident :=
Ident ('.' Ident)
;
varSection :=
'V:' identlist ';'
;
funcSection :=
'F:' identlist ';'
;
procSection :=
'P:' identList ';'
;
Ident :=
Letter (Letter | Digit)*
;
/* with option --lowline-identifiers */
Ident :=
Letter ('_' (Letter | Digit))*
;
Example
X:FooLib; I:*;
T:Foo, Bar, Baz;
C:bam, boo;
V:foo, bar;
F:fooBar, bazBam;
P:FooBar, BazBam;
File Extension
The file extension is '.exl'.
[END OF DOCUMENT]