source: doc/proposals/modules-alvin/3_implementation_details/prototype/parser/CMOD.interp@ a9049dd

Last change on this file since a9049dd was a9049dd, checked in by Alvin Zhang <alvin.zhang@…>, 8 weeks ago

Prototype code for modules

  • Property mode set to 100644
File size: 6.7 KB
Line 
1token literal names:
2null
3'module'
4';'
5'import'
6'export'
7'struct'
8'{'
9'}'
10'='
11'('
12')'
13','
14'.'
15'->'
16'*'
17'/'
18'+'
19'-'
20'&'
21'|'
22'?'
23':'
24'<'
25'>'
26'['
27']'
28'void'
29'char'
30'short'
31'int'
32'long'
33'float'
34'double'
35null
36null
37null
38null
39null
40null
41null
42
43token symbolic names:
44null
45null
46null
47null
48null
49null
50null
51null
52null
53null
54null
55null
56null
57null
58null
59null
60null
61null
62null
63null
64null
65null
66null
67null
68null
69null
70null
71null
72null
73null
74null
75null
76null
77Identifier
78Number
79StringLiteral
80Whitespace
81Newline
82BlockComment
83LineComment
84
85rule names:
86compilationUnit
87translationUnit
88moduleDeclaration
89importDeclaration
90externalDeclaration
91structDefinition
92structField
93globalDefinition
94functionDefinition
95parameterList
96compoundStatement
97statement
98expression
99typeSpecifier
100declarator
101
102
103atn:
104[4, 1, 39, 188, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 5, 1, 36, 8, 1, 10, 1, 12, 1, 39, 9, 1, 1, 1, 5, 1, 42, 8, 1, 10, 1, 12, 1, 45, 9, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 3, 4, 56, 8, 4, 1, 4, 1, 4, 3, 4, 60, 8, 4, 1, 4, 1, 4, 3, 4, 64, 8, 4, 1, 4, 1, 4, 3, 4, 68, 8, 4, 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 74, 8, 5, 10, 5, 12, 5, 77, 9, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 90, 8, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 98, 8, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 5, 9, 109, 8, 9, 10, 9, 12, 9, 112, 9, 9, 1, 10, 1, 10, 5, 10, 116, 8, 10, 10, 10, 12, 10, 119, 9, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 5, 12, 157, 8, 12, 10, 12, 12, 12, 160, 9, 12, 1, 12, 3, 12, 163, 8, 12, 1, 12, 1, 12, 5, 12, 167, 8, 12, 10, 12, 12, 12, 170, 9, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 3, 13, 181, 8, 13, 1, 14, 3, 14, 184, 8, 14, 1, 14, 1, 14, 1, 14, 0, 1, 24, 15, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 0, 0, 215, 0, 30, 1, 0, 0, 0, 2, 33, 1, 0, 0, 0, 4, 46, 1, 0, 0, 0, 6, 50, 1, 0, 0, 0, 8, 67, 1, 0, 0, 0, 10, 69, 1, 0, 0, 0, 12, 81, 1, 0, 0, 0, 14, 85, 1, 0, 0, 0, 16, 93, 1, 0, 0, 0, 18, 102, 1, 0, 0, 0, 20, 113, 1, 0, 0, 0, 22, 122, 1, 0, 0, 0, 24, 162, 1, 0, 0, 0, 26, 180, 1, 0, 0, 0, 28, 183, 1, 0, 0, 0, 30, 31, 3, 2, 1, 0, 31, 32, 5, 0, 0, 1, 32, 1, 1, 0, 0, 0, 33, 37, 3, 4, 2, 0, 34, 36, 3, 6, 3, 0, 35, 34, 1, 0, 0, 0, 36, 39, 1, 0, 0, 0, 37, 35, 1, 0, 0, 0, 37, 38, 1, 0, 0, 0, 38, 43, 1, 0, 0, 0, 39, 37, 1, 0, 0, 0, 40, 42, 3, 8, 4, 0, 41, 40, 1, 0, 0, 0, 42, 45, 1, 0, 0, 0, 43, 41, 1, 0, 0, 0, 43, 44, 1, 0, 0, 0, 44, 3, 1, 0, 0, 0, 45, 43, 1, 0, 0, 0, 46, 47, 5, 1, 0, 0, 47, 48, 5, 33, 0, 0, 48, 49, 5, 2, 0, 0, 49, 5, 1, 0, 0, 0, 50, 51, 5, 3, 0, 0, 51, 52, 5, 33, 0, 0, 52, 53, 5, 2, 0, 0, 53, 7, 1, 0, 0, 0, 54, 56, 5, 4, 0, 0, 55, 54, 1, 0, 0, 0, 55, 56, 1, 0, 0, 0, 56, 57, 1, 0, 0, 0, 57, 68, 3, 10, 5, 0, 58, 60, 5, 4, 0, 0, 59, 58, 1, 0, 0, 0, 59, 60, 1, 0, 0, 0, 60, 61, 1, 0, 0, 0, 61, 68, 3, 14, 7, 0, 62, 64, 5, 4, 0, 0, 63, 62, 1, 0, 0, 0, 63, 64, 1, 0, 0, 0, 64, 65, 1, 0, 0, 0, 65, 68, 3, 16, 8, 0, 66, 68, 5, 2, 0, 0, 67, 55, 1, 0, 0, 0, 67, 59, 1, 0, 0, 0, 67, 63, 1, 0, 0, 0, 67, 66, 1, 0, 0, 0, 68, 9, 1, 0, 0, 0, 69, 70, 5, 5, 0, 0, 70, 71, 5, 33, 0, 0, 71, 75, 5, 6, 0, 0, 72, 74, 3, 12, 6, 0, 73, 72, 1, 0, 0, 0, 74, 77, 1, 0, 0, 0, 75, 73, 1, 0, 0, 0, 75, 76, 1, 0, 0, 0, 76, 78, 1, 0, 0, 0, 77, 75, 1, 0, 0, 0, 78, 79, 5, 7, 0, 0, 79, 80, 5, 2, 0, 0, 80, 11, 1, 0, 0, 0, 81, 82, 3, 26, 13, 0, 82, 83, 3, 28, 14, 0, 83, 84, 5, 2, 0, 0, 84, 13, 1, 0, 0, 0, 85, 86, 3, 26, 13, 0, 86, 89, 3, 28, 14, 0, 87, 88, 5, 8, 0, 0, 88, 90, 3, 24, 12, 0, 89, 87, 1, 0, 0, 0, 89, 90, 1, 0, 0, 0, 90, 91, 1, 0, 0, 0, 91, 92, 5, 2, 0, 0, 92, 15, 1, 0, 0, 0, 93, 94, 3, 26, 13, 0, 94, 95, 3, 28, 14, 0, 95, 97, 5, 9, 0, 0, 96, 98, 3, 18, 9, 0, 97, 96, 1, 0, 0, 0, 97, 98, 1, 0, 0, 0, 98, 99, 1, 0, 0, 0, 99, 100, 5, 10, 0, 0, 100, 101, 3, 20, 10, 0, 101, 17, 1, 0, 0, 0, 102, 103, 3, 26, 13, 0, 103, 110, 3, 28, 14, 0, 104, 105, 5, 11, 0, 0, 105, 106, 3, 26, 13, 0, 106, 107, 3, 28, 14, 0, 107, 109, 1, 0, 0, 0, 108, 104, 1, 0, 0, 0, 109, 112, 1, 0, 0, 0, 110, 108, 1, 0, 0, 0, 110, 111, 1, 0, 0, 0, 111, 19, 1, 0, 0, 0, 112, 110, 1, 0, 0, 0, 113, 117, 5, 6, 0, 0, 114, 116, 3, 22, 11, 0, 115, 114, 1, 0, 0, 0, 116, 119, 1, 0, 0, 0, 117, 115, 1, 0, 0, 0, 117, 118, 1, 0, 0, 0, 118, 120, 1, 0, 0, 0, 119, 117, 1, 0, 0, 0, 120, 121, 5, 7, 0, 0, 121, 21, 1, 0, 0, 0, 122, 123, 3, 24, 12, 0, 123, 124, 5, 2, 0, 0, 124, 23, 1, 0, 0, 0, 125, 126, 6, 12, -1, 0, 126, 163, 5, 11, 0, 0, 127, 163, 5, 12, 0, 0, 128, 163, 5, 13, 0, 0, 129, 163, 5, 14, 0, 0, 130, 163, 5, 15, 0, 0, 131, 163, 5, 16, 0, 0, 132, 163, 5, 17, 0, 0, 133, 163, 5, 18, 0, 0, 134, 163, 5, 19, 0, 0, 135, 163, 5, 20, 0, 0, 136, 163, 5, 21, 0, 0, 137, 163, 5, 8, 0, 0, 138, 163, 5, 22, 0, 0, 139, 163, 5, 23, 0, 0, 140, 141, 5, 9, 0, 0, 141, 142, 3, 24, 12, 0, 142, 143, 5, 10, 0, 0, 143, 163, 1, 0, 0, 0, 144, 145, 5, 24, 0, 0, 145, 146, 3, 24, 12, 0, 146, 147, 5, 25, 0, 0, 147, 163, 1, 0, 0, 0, 148, 149, 5, 6, 0, 0, 149, 150, 3, 24, 12, 0, 150, 151, 5, 7, 0, 0, 151, 163, 1, 0, 0, 0, 152, 163, 5, 35, 0, 0, 153, 163, 5, 34, 0, 0, 154, 158, 3, 26, 13, 0, 155, 157, 5, 14, 0, 0, 156, 155, 1, 0, 0, 0, 157, 160, 1, 0, 0, 0, 158, 156, 1, 0, 0, 0, 158, 159, 1, 0, 0, 0, 159, 163, 1, 0, 0, 0, 160, 158, 1, 0, 0, 0, 161, 163, 5, 33, 0, 0, 162, 125, 1, 0, 0, 0, 162, 127, 1, 0, 0, 0, 162, 128, 1, 0, 0, 0, 162, 129, 1, 0, 0, 0, 162, 130, 1, 0, 0, 0, 162, 131, 1, 0, 0, 0, 162, 132, 1, 0, 0, 0, 162, 133, 1, 0, 0, 0, 162, 134, 1, 0, 0, 0, 162, 135, 1, 0, 0, 0, 162, 136, 1, 0, 0, 0, 162, 137, 1, 0, 0, 0, 162, 138, 1, 0, 0, 0, 162, 139, 1, 0, 0, 0, 162, 140, 1, 0, 0, 0, 162, 144, 1, 0, 0, 0, 162, 148, 1, 0, 0, 0, 162, 152, 1, 0, 0, 0, 162, 153, 1, 0, 0, 0, 162, 154, 1, 0, 0, 0, 162, 161, 1, 0, 0, 0, 163, 168, 1, 0, 0, 0, 164, 165, 10, 22, 0, 0, 165, 167, 3, 24, 12, 23, 166, 164, 1, 0, 0, 0, 167, 170, 1, 0, 0, 0, 168, 166, 1, 0, 0, 0, 168, 169, 1, 0, 0, 0, 169, 25, 1, 0, 0, 0, 170, 168, 1, 0, 0, 0, 171, 181, 5, 26, 0, 0, 172, 181, 5, 27, 0, 0, 173, 181, 5, 28, 0, 0, 174, 181, 5, 29, 0, 0, 175, 181, 5, 30, 0, 0, 176, 181, 5, 31, 0, 0, 177, 181, 5, 32, 0, 0, 178, 179, 5, 5, 0, 0, 179, 181, 5, 33, 0, 0, 180, 171, 1, 0, 0, 0, 180, 172, 1, 0, 0, 0, 180, 173, 1, 0, 0, 0, 180, 174, 1, 0, 0, 0, 180, 175, 1, 0, 0, 0, 180, 176, 1, 0, 0, 0, 180, 177, 1, 0, 0, 0, 180, 178, 1, 0, 0, 0, 181, 27, 1, 0, 0, 0, 182, 184, 5, 14, 0, 0, 183, 182, 1, 0, 0, 0, 183, 184, 1, 0, 0, 0, 184, 185, 1, 0, 0, 0, 185, 186, 5, 33, 0, 0, 186, 29, 1, 0, 0, 0, 16, 37, 43, 55, 59, 63, 67, 75, 89, 97, 110, 117, 158, 162, 168, 180, 183]
Note: See TracBrowser for help on using the repository browser.