Add null literal to the DSL

This commit is contained in:
John Kerl 2021-05-12 23:57:04 -04:00
parent cd36fe5508
commit 39dffd1173
12 changed files with 598279 additions and 589592 deletions

View file

@ -186,6 +186,8 @@ func (this *ASTNode) Text() string {
return tokenText
case NodeTypeBoolLiteral:
return tokenText
case NodeTypeNullLiteral:
return tokenText
case NodeTypeArrayLiteral:
return tokenText
case NodeTypeMapLiteral:

View file

@ -29,6 +29,7 @@ const (
NodeTypeIntLiteral = "int literal"
NodeTypeFloatLiteral = "float literal"
NodeTypeBoolLiteral = "bool literal"
NodeTypeNullLiteral = "null literal"
NodeTypeArrayLiteral = "array literal"
NodeTypeMapLiteral = "map literal"
NodeTypeMapLiteralKeyValuePair = "map-literal key-value pair"

View file

@ -62,6 +62,9 @@ func (this *RootNode) BuildLeafNode(
case dsl.NodeTypeBoolLiteral:
return this.BuildBoolLiteralNode(sval), nil
break
case dsl.NodeTypeNullLiteral:
return this.BuildNullLiteralNode(), nil
break
case dsl.NodeTypeContextVariable:
return this.BuildContextVariableNode(astNode)
break
@ -256,6 +259,22 @@ func (this *BoolLiteralNode) Evaluate(
return &this.literal
}
// ----------------------------------------------------------------
type NullLiteralNode struct {
literal *types.Mlrval
}
func (this *RootNode) BuildNullLiteralNode() *NullLiteralNode {
return &NullLiteralNode{
literal: types.MLRVAL_NULL,
}
}
func (this *NullLiteralNode) Evaluate(
state *runtime.State,
) *types.Mlrval {
return this.literal
}
// ================================================================
func (this *RootNode) BuildContextVariableNode(astNode *dsl.ASTNode) (IEvaluable, error) {
lib.InternalCodingErrorIf(astNode.Token == nil)

View file

@ -149,7 +149,7 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S32
Accept: 108,
Accept: 109,
Ignore: "",
},
ActionRow{ // S33
@ -457,11 +457,11 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S109
Accept: 116,
Accept: 117,
Ignore: "",
},
ActionRow{ // S110
Accept: 117,
Accept: 118,
Ignore: "",
},
ActionRow{ // S111
@ -477,7 +477,7 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S114
Accept: 122,
Accept: 123,
Ignore: "",
},
ActionRow{ // S115
@ -517,7 +517,7 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S124
Accept: 131,
Accept: 132,
Ignore: "",
},
ActionRow{ // S125
@ -565,11 +565,11 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S136
Accept: 127,
Accept: 128,
Ignore: "",
},
ActionRow{ // S137
Accept: 133,
Accept: 134,
Ignore: "",
},
ActionRow{ // S138
@ -737,7 +737,7 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S179
Accept: 121,
Accept: 122,
Ignore: "",
},
ActionRow{ // S180
@ -745,23 +745,23 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S181
Accept: 118,
Accept: 119,
Ignore: "",
},
ActionRow{ // S182
Accept: 110,
Ignore: "",
},
ActionRow{ // S183
Accept: 109,
Ignore: "",
},
ActionRow{ // S184
Accept: 111,
Ignore: "",
},
ActionRow{ // S183
Accept: 110,
Ignore: "",
},
ActionRow{ // S184
Accept: 112,
Ignore: "",
},
ActionRow{ // S185
Accept: 106,
Accept: 107,
Ignore: "",
},
ActionRow{ // S186
@ -773,19 +773,19 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S188
Accept: 113,
Ignore: "",
},
ActionRow{ // S189
Accept: 112,
Ignore: "",
},
ActionRow{ // S190
Accept: 114,
Ignore: "",
},
ActionRow{ // S189
Accept: 113,
Ignore: "",
},
ActionRow{ // S190
Accept: 115,
Ignore: "",
},
ActionRow{ // S191
Accept: 123,
Accept: 124,
Ignore: "",
},
ActionRow{ // S192
@ -841,7 +841,7 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S205
Accept: 126,
Accept: 127,
Ignore: "",
},
ActionRow{ // S206
@ -861,7 +861,7 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S210
Accept: 132,
Accept: 133,
Ignore: "",
},
ActionRow{ // S211
@ -877,11 +877,11 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S214
Accept: 45,
Accept: 39,
Ignore: "",
},
ActionRow{ // S215
Accept: 39,
Accept: 45,
Ignore: "",
},
ActionRow{ // S216
@ -893,19 +893,19 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S218
Accept: 46,
Accept: 39,
Ignore: "",
},
ActionRow{ // S219
Accept: 39,
Accept: 46,
Ignore: "",
},
ActionRow{ // S220
Accept: 21,
Accept: 39,
Ignore: "",
},
ActionRow{ // S221
Accept: 39,
Accept: 21,
Ignore: "",
},
ActionRow{ // S222
@ -913,31 +913,31 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S223
Accept: 47,
Ignore: "",
},
ActionRow{ // S224
Accept: 39,
Ignore: "",
},
ActionRow{ // S224
Accept: 47,
Ignore: "",
},
ActionRow{ // S225
Accept: 48,
Accept: 39,
Ignore: "",
},
ActionRow{ // S226
Accept: 101,
Accept: 48,
Ignore: "",
},
ActionRow{ // S227
Accept: 32,
Accept: 101,
Ignore: "",
},
ActionRow{ // S228
Accept: 0,
Accept: 32,
Ignore: "",
},
ActionRow{ // S229
Accept: 30,
Accept: 0,
Ignore: "",
},
ActionRow{ // S230
@ -945,7 +945,7 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S231
Accept: 0,
Accept: 30,
Ignore: "",
},
ActionRow{ // S232
@ -953,11 +953,11 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S233
Accept: 103,
Accept: 0,
Ignore: "",
},
ActionRow{ // S234
Accept: 0,
Accept: 103,
Ignore: "",
},
ActionRow{ // S235
@ -965,7 +965,7 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S236
Accept: 103,
Accept: 0,
Ignore: "",
},
ActionRow{ // S237
@ -973,19 +973,19 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S238
Accept: 58,
Accept: 103,
Ignore: "",
},
ActionRow{ // S239
Accept: 52,
Accept: 58,
Ignore: "",
},
ActionRow{ // S240
Accept: 0,
Accept: 52,
Ignore: "",
},
ActionRow{ // S241
Accept: 36,
Accept: 0,
Ignore: "",
},
ActionRow{ // S242
@ -993,15 +993,15 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S243
Accept: 39,
Accept: 36,
Ignore: "",
},
ActionRow{ // S244
Accept: 105,
Accept: 39,
Ignore: "",
},
ActionRow{ // S245
Accept: 39,
Accept: 106,
Ignore: "",
},
ActionRow{ // S246
@ -1009,31 +1009,31 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S247
Accept: 41,
Accept: 39,
Ignore: "",
},
ActionRow{ // S248
Accept: 39,
Accept: 41,
Ignore: "",
},
ActionRow{ // S249
Accept: 124,
Accept: 39,
Ignore: "",
},
ActionRow{ // S250
Accept: 39,
Accept: 125,
Ignore: "",
},
ActionRow{ // S251
Accept: 19,
Ignore: "",
},
ActionRow{ // S252
Accept: 39,
Ignore: "",
},
ActionRow{ // S252
Accept: 19,
Ignore: "",
},
ActionRow{ // S253
Accept: 128,
Accept: 39,
Ignore: "",
},
ActionRow{ // S254
@ -1041,11 +1041,11 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S255
Accept: 23,
Accept: 130,
Ignore: "",
},
ActionRow{ // S256
Accept: 39,
Accept: 23,
Ignore: "",
},
ActionRow{ // S257
@ -1061,15 +1061,15 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S260
Accept: 136,
Accept: 39,
Ignore: "",
},
ActionRow{ // S261
Accept: 39,
Accept: 137,
Ignore: "",
},
ActionRow{ // S262
Accept: 39,
Accept: 105,
Ignore: "",
},
ActionRow{ // S263
@ -1081,27 +1081,27 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S265
Accept: 137,
Accept: 39,
Ignore: "",
},
ActionRow{ // S266
Accept: 104,
Accept: 39,
Ignore: "",
},
ActionRow{ // S267
Accept: 39,
Accept: 138,
Ignore: "",
},
ActionRow{ // S268
Accept: 39,
Accept: 104,
Ignore: "",
},
ActionRow{ // S269
Accept: 0,
Accept: 39,
Ignore: "",
},
ActionRow{ // S270
Accept: 103,
Accept: 39,
Ignore: "",
},
ActionRow{ // S271
@ -1113,47 +1113,47 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S273
Accept: 103,
Accept: 0,
Ignore: "",
},
ActionRow{ // S274
Accept: 39,
Accept: 103,
Ignore: "",
},
ActionRow{ // S275
Accept: 39,
Accept: 103,
Ignore: "",
},
ActionRow{ // S276
Accept: 125,
Accept: 39,
Ignore: "",
},
ActionRow{ // S277
Accept: 134,
Accept: 39,
Ignore: "",
},
ActionRow{ // S278
Accept: 39,
Accept: 126,
Ignore: "",
},
ActionRow{ // S279
Accept: 20,
Accept: 135,
Ignore: "",
},
ActionRow{ // S280
Accept: 22,
Ignore: "",
},
ActionRow{ // S281
Accept: 26,
Ignore: "",
},
ActionRow{ // S282
Accept: 39,
Ignore: "",
},
ActionRow{ // S281
Accept: 20,
Ignore: "",
},
ActionRow{ // S282
Accept: 22,
Ignore: "",
},
ActionRow{ // S283
Accept: 104,
Accept: 26,
Ignore: "",
},
ActionRow{ // S284
@ -1161,19 +1161,19 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S285
Accept: 42,
Accept: 104,
Ignore: "",
},
ActionRow{ // S286
Accept: 14,
Accept: 39,
Ignore: "",
},
ActionRow{ // S287
Accept: 39,
Accept: 42,
Ignore: "",
},
ActionRow{ // S288
Accept: 39,
Accept: 14,
Ignore: "",
},
ActionRow{ // S289
@ -1181,27 +1181,27 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S290
Accept: 7,
Accept: 39,
Ignore: "",
},
ActionRow{ // S291
Accept: 130,
Accept: 39,
Ignore: "",
},
ActionRow{ // S292
Accept: 0,
Accept: 7,
Ignore: "",
},
ActionRow{ // S293
Accept: 103,
Accept: 131,
Ignore: "",
},
ActionRow{ // S294
Accept: 39,
Accept: 0,
Ignore: "",
},
ActionRow{ // S295
Accept: 39,
Accept: 103,
Ignore: "",
},
ActionRow{ // S296
@ -1213,39 +1213,39 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S298
Accept: 17,
Ignore: "",
},
ActionRow{ // S299
Accept: 8,
Ignore: "",
},
ActionRow{ // S300
Accept: 16,
Ignore: "",
},
ActionRow{ // S301
Accept: 138,
Ignore: "",
},
ActionRow{ // S302
Accept: 13,
Ignore: "",
},
ActionRow{ // S303
Accept: 12,
Ignore: "",
},
ActionRow{ // S304
Accept: 0,
Ignore: "",
},
ActionRow{ // S305
Accept: 39,
Ignore: "",
},
ActionRow{ // S299
Accept: 39,
Ignore: "",
},
ActionRow{ // S300
Accept: 17,
Ignore: "",
},
ActionRow{ // S301
Accept: 8,
Ignore: "",
},
ActionRow{ // S302
Accept: 16,
Ignore: "",
},
ActionRow{ // S303
Accept: 139,
Ignore: "",
},
ActionRow{ // S304
Accept: 13,
Ignore: "",
},
ActionRow{ // S305
Accept: 12,
Ignore: "",
},
ActionRow{ // S306
Accept: 120,
Accept: 0,
Ignore: "",
},
ActionRow{ // S307
@ -1253,39 +1253,47 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S308
Accept: 39,
Accept: 121,
Ignore: "",
},
ActionRow{ // S309
Accept: 18,
Accept: 39,
Ignore: "",
},
ActionRow{ // S310
Accept: 0,
Accept: 39,
Ignore: "",
},
ActionRow{ // S311
Accept: 119,
Accept: 18,
Ignore: "",
},
ActionRow{ // S312
Accept: 115,
Accept: 0,
Ignore: "",
},
ActionRow{ // S313
Accept: 135,
Accept: 120,
Ignore: "",
},
ActionRow{ // S314
Accept: 0,
Accept: 116,
Ignore: "",
},
ActionRow{ // S315
Accept: 0,
Accept: 136,
Ignore: "",
},
ActionRow{ // S316
Accept: 107,
Accept: 0,
Ignore: "",
},
ActionRow{ // S317
Accept: 0,
Ignore: "",
},
ActionRow{ // S318
Accept: 108,
Ignore: "",
},
}

View file

@ -11,8 +11,8 @@ import (
const (
NoState = -1
NumStates = 317
NumSymbols = 542
NumStates = 319
NumSymbols = 546
)
type Lexer struct {
@ -138,521 +138,525 @@ Lexer symbols:
22: 'M'
23: '_'
24: 'E'
25: 'I'
26: 'P'
27: 'S'
28: 'I'
29: 'F'
30: 'S'
31: 'I'
32: 'R'
33: 'S'
34: 'O'
35: 'P'
36: 'S'
37: 'O'
38: 'F'
39: 'S'
40: 'O'
41: 'R'
42: 'S'
43: 'O'
44: 'F'
45: 'L'
46: 'A'
47: 'T'
48: 'S'
49: 'E'
50: 'P'
51: 'N'
52: 'F'
53: 'N'
54: 'R'
55: 'F'
56: 'N'
57: 'R'
58: 'F'
59: 'I'
60: 'L'
61: 'E'
62: 'N'
63: 'A'
64: 'M'
25: 'n'
26: 'u'
27: 'l'
28: 'l'
29: 'I'
30: 'P'
31: 'S'
32: 'I'
33: 'F'
34: 'S'
35: 'I'
36: 'R'
37: 'S'
38: 'O'
39: 'P'
40: 'S'
41: 'O'
42: 'F'
43: 'S'
44: 'O'
45: 'R'
46: 'S'
47: 'O'
48: 'F'
49: 'L'
50: 'A'
51: 'T'
52: 'S'
53: 'E'
54: 'P'
55: 'N'
56: 'F'
57: 'N'
58: 'R'
59: 'F'
60: 'N'
61: 'R'
62: 'F'
63: 'I'
64: 'L'
65: 'E'
66: 'F'
67: 'I'
68: 'L'
66: 'N'
67: 'A'
68: 'M'
69: 'E'
70: 'N'
71: 'U'
72: 'M'
70: 'F'
71: 'I'
72: 'L'
73: 'E'
74: 'N'
75: 'V'
76: 'b'
77: 'e'
78: 'g'
79: 'i'
80: 'n'
81: 'd'
82: 'o'
83: 'e'
84: 'l'
85: 'i'
86: 'f'
75: 'U'
76: 'M'
77: 'E'
78: 'N'
79: 'V'
80: 'b'
81: 'e'
82: 'g'
83: 'i'
84: 'n'
85: 'd'
86: 'o'
87: 'e'
88: 'l'
89: 's'
90: 'e'
89: 'i'
90: 'f'
91: 'e'
92: 'n'
93: 'd'
94: 'f'
95: 'i'
96: 'l'
97: 't'
98: 'e'
99: 'r'
100: 'f'
101: 'o'
102: 'r'
103: 'i'
92: 'l'
93: 's'
94: 'e'
95: 'e'
96: 'n'
97: 'd'
98: 'f'
99: 'i'
100: 'l'
101: 't'
102: 'e'
103: 'r'
104: 'f'
105: 'i'
106: 'n'
107: 'w'
108: 'h'
105: 'o'
106: 'r'
107: 'i'
108: 'f'
109: 'i'
110: 'l'
111: 'e'
112: 'b'
113: 'r'
114: 'e'
115: 'a'
116: 'k'
117: 'c'
118: 'o'
119: 'n'
120: 't'
121: 'i'
122: 'n'
123: 'u'
124: 'e'
125: 'r'
126: 'e'
127: 't'
128: 'u'
110: 'n'
111: 'w'
112: 'h'
113: 'i'
114: 'l'
115: 'e'
116: 'b'
117: 'r'
118: 'e'
119: 'a'
120: 'k'
121: 'c'
122: 'o'
123: 'n'
124: 't'
125: 'i'
126: 'n'
127: 'u'
128: 'e'
129: 'r'
130: 'n'
131: 'f'
130: 'e'
131: 't'
132: 'u'
133: 'n'
134: 'c'
135: 's'
133: 'r'
134: 'n'
135: 'f'
136: 'u'
137: 'b'
138: 'r'
139: 'c'
140: 'a'
141: 'l'
142: 'l'
143: 'a'
144: 'r'
145: 'r'
146: 'b'
147: 'o'
148: 'o'
149: 'l'
150: 'f'
151: 'l'
137: 'n'
138: 'c'
139: 's'
140: 'u'
141: 'b'
142: 'r'
143: 'c'
144: 'a'
145: 'l'
146: 'l'
147: 'a'
148: 'r'
149: 'r'
150: 'b'
151: 'o'
152: 'o'
153: 'a'
154: 't'
155: 'i'
156: 'n'
157: 't'
158: 'm'
159: 'a'
160: 'p'
161: 'n'
162: 'u'
163: 'm'
164: 's'
165: 't'
166: 'r'
167: 'v'
168: 'a'
169: 'r'
170: 'u'
171: 'n'
172: 's'
173: 'e'
174: 't'
175: 'd'
176: 'u'
177: 'm'
178: 'p'
179: 'e'
180: 'd'
181: 'u'
182: 'm'
183: 'p'
184: 'e'
185: 'm'
186: 'i'
187: 't'
153: 'l'
154: 'f'
155: 'l'
156: 'o'
157: 'a'
158: 't'
159: 'i'
160: 'n'
161: 't'
162: 'm'
163: 'a'
164: 'p'
165: 'n'
166: 'u'
167: 'm'
168: 's'
169: 't'
170: 'r'
171: 'v'
172: 'a'
173: 'r'
174: 'u'
175: 'n'
176: 's'
177: 'e'
178: 't'
179: 'd'
180: 'u'
181: 'm'
182: 'p'
183: 'e'
184: 'd'
185: 'u'
186: 'm'
187: 'p'
188: 'e'
189: 'm'
190: 'i'
191: 't'
192: 'p'
193: 'e'
194: 'm'
195: 'i'
196: 't'
197: 'f'
198: 'e'
199: 'p'
200: 'r'
201: 'i'
202: 'n'
203: 't'
204: 'e'
205: 'p'
206: 'r'
207: 'i'
208: 'n'
209: 't'
210: 'n'
211: 'p'
212: 'r'
213: 'i'
192: 'e'
193: 'm'
194: 'i'
195: 't'
196: 'p'
197: 'e'
198: 'm'
199: 'i'
200: 't'
201: 'f'
202: 'e'
203: 'p'
204: 'r'
205: 'i'
206: 'n'
207: 't'
208: 'e'
209: 'p'
210: 'r'
211: 'i'
212: 'n'
213: 't'
214: 'n'
215: 't'
216: 'p'
217: 'r'
218: 'i'
219: 'n'
220: 't'
221: 'n'
222: 't'
223: 'e'
224: 'e'
225: 's'
215: 'p'
216: 'r'
217: 'i'
218: 'n'
219: 't'
220: 'p'
221: 'r'
222: 'i'
223: 'n'
224: 't'
225: 'n'
226: 't'
227: 'd'
228: 'o'
229: 'u'
227: 'e'
228: 'e'
229: 's'
230: 't'
231: 's'
232: 't'
233: 'd'
234: 'e'
235: 'r'
236: 'r'
237: '$'
238: '$'
239: '{'
240: '}'
231: 'd'
232: 'o'
233: 'u'
234: 't'
235: 's'
236: 't'
237: 'd'
238: 'e'
239: 'r'
240: 'r'
241: '$'
242: '*'
243: '@'
244: '@'
245: '{'
246: '}'
242: '$'
243: '{'
244: '}'
245: '$'
246: '*'
247: '@'
248: '*'
249: 'a'
250: 'l'
251: 'l'
252: '%'
253: '%'
254: '%'
255: 'p'
256: 'a'
257: 'n'
258: 'i'
259: 'c'
260: '%'
261: '%'
262: '%'
263: ';'
264: '{'
265: '}'
266: '='
267: '>'
268: '>'
269: '>'
270: '|'
271: ','
272: '('
273: ')'
274: '$'
275: '['
276: ']'
277: '$'
278: '['
248: '@'
249: '{'
250: '}'
251: '@'
252: '*'
253: 'a'
254: 'l'
255: 'l'
256: '%'
257: '%'
258: '%'
259: 'p'
260: 'a'
261: 'n'
262: 'i'
263: 'c'
264: '%'
265: '%'
266: '%'
267: ';'
268: '{'
269: '}'
270: '='
271: '>'
272: '>'
273: '>'
274: '|'
275: ','
276: '('
277: ')'
278: '$'
279: '['
280: '$'
281: '['
280: ']'
281: '$'
282: '['
283: '['
284: '@'
284: '$'
285: '['
286: '|'
287: '|'
288: '='
289: '^'
290: '^'
291: '='
292: '&'
293: '&'
294: '='
295: '?'
296: '?'
297: '='
298: '?'
286: '['
287: '['
288: '@'
289: '['
290: '|'
291: '|'
292: '='
293: '^'
294: '^'
295: '='
296: '&'
297: '&'
298: '='
299: '?'
300: '?'
301: '='
302: '|'
303: '='
304: '&'
302: '?'
303: '?'
304: '?'
305: '='
306: '^'
306: '|'
307: '='
308: '<'
309: '<'
310: '='
311: '>'
312: '>'
313: '='
314: '>'
308: '&'
309: '='
310: '^'
311: '='
312: '<'
313: '<'
314: '='
315: '>'
316: '>'
317: '='
318: '+'
319: '='
320: '.'
318: '>'
319: '>'
320: '>'
321: '='
322: '-'
322: '+'
323: '='
324: '*'
324: '.'
325: '='
326: '/'
326: '-'
327: '='
328: '/'
329: '/'
330: '='
331: '%'
332: '='
333: '*'
334: '*'
335: '='
336: '?'
337: ':'
338: '|'
339: '|'
340: '^'
341: '^'
342: '&'
343: '&'
344: '?'
345: '?'
346: '?'
347: '?'
328: '*'
329: '='
330: '/'
331: '='
332: '/'
333: '/'
334: '='
335: '%'
336: '='
337: '*'
338: '*'
339: '='
340: '?'
341: ':'
342: '|'
343: '|'
344: '^'
345: '^'
346: '&'
347: '&'
348: '?'
349: '='
350: '~'
351: '!'
352: '='
353: '~'
354: '='
355: '='
356: '!'
357: '='
358: '>'
349: '?'
350: '?'
351: '?'
352: '?'
353: '='
354: '~'
355: '!'
356: '='
357: '~'
358: '='
359: '='
360: '<'
361: '<'
362: '='
363: '^'
364: '&'
360: '!'
361: '='
362: '>'
363: '='
364: '<'
365: '<'
366: '<'
367: '>'
368: '>'
369: '>'
370: '+'
371: '-'
372: '.'
373: '+'
374: '.'
366: '='
367: '^'
368: '&'
369: '<'
370: '<'
371: '>'
372: '>'
373: '>'
374: '+'
375: '-'
376: '.'
377: '*'
378: '/'
379: '/'
380: '/'
381: '%'
382: '.'
383: '*'
384: '.'
385: '/'
377: '+'
378: '.'
379: '-'
380: '.'
381: '*'
382: '/'
383: '/'
384: '/'
385: '%'
386: '.'
387: '/'
388: '/'
389: '!'
390: '~'
391: '*'
392: '*'
393: '['
394: '['
395: '['
396: '['
387: '*'
388: '.'
389: '/'
390: '.'
391: '/'
392: '/'
393: '!'
394: '~'
395: '*'
396: '*'
397: '['
398: '['
399: '_'
400: '_'
401: ' '
402: '!'
403: '#'
404: '$'
405: '%'
406: '&'
407: '''
408: '\'
409: '('
410: ')'
411: '*'
412: '+'
413: ','
414: '-'
415: '.'
416: '/'
417: ':'
418: ';'
419: '<'
420: '='
421: '>'
422: '?'
423: '@'
424: '['
425: ']'
426: '^'
427: '_'
428: '`'
429: '{'
430: '|'
431: '}'
432: '~'
433: '\'
434: '\'
435: '\'
436: '"'
399: '['
400: '['
401: '['
402: '['
403: '_'
404: '_'
405: ' '
406: '!'
407: '#'
408: '$'
409: '%'
410: '&'
411: '''
412: '\'
413: '('
414: ')'
415: '*'
416: '+'
417: ','
418: '-'
419: '.'
420: '/'
421: ':'
422: ';'
423: '<'
424: '='
425: '>'
426: '?'
427: '@'
428: '['
429: ']'
430: '^'
431: '_'
432: '`'
433: '{'
434: '|'
435: '}'
436: '~'
437: '\'
438: '['
438: '\'
439: '\'
440: ']'
440: '"'
441: '\'
442: 'b'
442: '['
443: '\'
444: 'f'
444: ']'
445: '\'
446: 'n'
446: 'b'
447: '\'
448: 'r'
448: 'f'
449: '\'
450: 't'
450: 'n'
451: '\'
452: 'x'
452: 'r'
453: '\'
454: '.'
454: 't'
455: '\'
456: '0'
456: 'x'
457: '\'
458: '1'
458: '.'
459: '\'
460: '2'
460: '0'
461: '\'
462: '3'
462: '1'
463: '\'
464: '4'
464: '2'
465: '\'
466: '5'
466: '3'
467: '\'
468: '6'
468: '4'
469: '\'
470: '7'
470: '5'
471: '\'
472: '8'
472: '6'
473: '\'
474: '9'
475: 'e'
476: 'E'
477: 't'
478: 'r'
479: 'u'
480: 'e'
481: 'f'
482: 'a'
483: 'l'
484: 's'
485: 'e'
486: ' '
487: '!'
488: '#'
489: '$'
490: '%'
491: '&'
492: '''
493: '\'
494: '('
495: ')'
496: '*'
497: '+'
498: ','
499: '-'
500: '.'
501: '/'
502: ':'
503: ';'
504: '<'
505: '='
506: '>'
507: '?'
508: '@'
509: '['
510: ']'
511: '^'
512: '_'
513: '`'
514: '|'
515: '~'
516: '\'
517: '{'
518: '\'
519: '}'
520: ' '
521: '\t'
522: '\n'
523: '\r'
524: '#'
525: '\n'
526: 'a'-'z'
527: 'A'-'Z'
528: '0'-'9'
529: '0'-'9'
530: 'a'-'f'
531: 'A'-'F'
532: '0'-'1'
533: 'A'-'Z'
534: 'a'-'z'
535: '0'-'9'
536: \u0100-\U0010ffff
474: '7'
475: '\'
476: '8'
477: '\'
478: '9'
479: 'e'
480: 'E'
481: 't'
482: 'r'
483: 'u'
484: 'e'
485: 'f'
486: 'a'
487: 'l'
488: 's'
489: 'e'
490: ' '
491: '!'
492: '#'
493: '$'
494: '%'
495: '&'
496: '''
497: '\'
498: '('
499: ')'
500: '*'
501: '+'
502: ','
503: '-'
504: '.'
505: '/'
506: ':'
507: ';'
508: '<'
509: '='
510: '>'
511: '?'
512: '@'
513: '['
514: ']'
515: '^'
516: '_'
517: '`'
518: '|'
519: '~'
520: '\'
521: '{'
522: '\'
523: '}'
524: ' '
525: '\t'
526: '\n'
527: '\r'
528: '#'
529: '\n'
530: 'a'-'z'
531: 'A'-'Z'
532: '0'-'9'
533: '0'-'9'
534: 'a'-'f'
535: 'A'-'F'
536: '0'-'1'
537: 'A'-'Z'
538: 'a'-'z'
539: '0'-'9'
540: \u0100-\U0010ffff
541: .
541: 'A'-'Z'
542: 'a'-'z'
543: '0'-'9'
544: \u0100-\U0010ffff
545: .
*/

File diff suppressed because it is too large Load diff

View file

@ -141,6 +141,8 @@ _literal_true : 't' 'r' 'u' 'e' ;
_literal_false : 'f' 'a' 'l' 's' 'e';
boolean_literal : ( _literal_true | _literal_false );
null_literal : 'n' 'u' 'l' 'l';
// ----------------------------------------------------------------
// MILLER CONTEXT VARIABLES
// ----------------------------------------------------------------
@ -1470,6 +1472,9 @@ MlrvalOrFunction
| boolean_literal
<< dsl.NewASTNode($0, dsl.NodeTypeBoolLiteral) >>
| null_literal
<< dsl.NewASTNode($0, dsl.NodeTypeNullLiteral) >>
| const_M_PI
<< dsl.NewASTNode(
$0,

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -11,9 +11,9 @@ import (
)
const (
numProductions = 324
numStates = 4267
numSymbols = 247
numProductions = 325
numStates = 4284
numSymbols = 248
)
// Stack

View file

@ -2768,23 +2768,17 @@ var productionsTable = ProdTab{
},
},
ProdTabEntry{
String: `MlrvalOrFunction : const_M_PI << dsl.NewASTNode(
X[0],
dsl.NodeTypeConstant,
) >>`,
String: `MlrvalOrFunction : null_literal << dsl.NewASTNode(X[0], dsl.NodeTypeNullLiteral) >>`,
Id: "MlrvalOrFunction",
NTType: 60,
Index: 213,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNode(
X[0],
dsl.NodeTypeConstant,
)
return dsl.NewASTNode(X[0], dsl.NodeTypeNullLiteral)
},
},
ProdTabEntry{
String: `MlrvalOrFunction : const_M_E << dsl.NewASTNode(
String: `MlrvalOrFunction : const_M_PI << dsl.NewASTNode(
X[0],
dsl.NodeTypeConstant,
) >>`,
@ -2800,11 +2794,27 @@ var productionsTable = ProdTab{
},
},
ProdTabEntry{
String: `MlrvalOrFunction : panic << dsl.NewASTNode(X[0], dsl.NodeTypePanic) >>`,
String: `MlrvalOrFunction : const_M_E << dsl.NewASTNode(
X[0],
dsl.NodeTypeConstant,
) >>`,
Id: "MlrvalOrFunction",
NTType: 60,
Index: 215,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNode(
X[0],
dsl.NodeTypeConstant,
)
},
},
ProdTabEntry{
String: `MlrvalOrFunction : panic << dsl.NewASTNode(X[0], dsl.NodeTypePanic) >>`,
Id: "MlrvalOrFunction",
NTType: 60,
Index: 216,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypePanic)
},
@ -2813,7 +2823,7 @@ var productionsTable = ProdTab{
String: `MlrvalOrFunction : ArrayLiteral << >>`,
Id: "MlrvalOrFunction",
NTType: 60,
Index: 216,
Index: 217,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -2826,7 +2836,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "ArrayLiteral",
NTType: 61,
Index: 217,
Index: 218,
NumSymbols: 2,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeZary(
@ -2845,7 +2855,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "ArrayLiteral",
NTType: 61,
Index: 218,
Index: 219,
NumSymbols: 3,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.AdoptChildren(
@ -2865,7 +2875,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "ArrayLiteralElements",
NTType: 62,
Index: 219,
Index: 220,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeUnary(
@ -2883,7 +2893,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "ArrayLiteralElements",
NTType: 62,
Index: 220,
Index: 221,
NumSymbols: 2,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeUnary(
@ -2900,7 +2910,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "ArrayLiteralElements",
NTType: 62,
Index: 221,
Index: 222,
NumSymbols: 3,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.PrependChild(
@ -2913,7 +2923,7 @@ var productionsTable = ProdTab{
String: `MlrvalOrFunction : MapLiteral << >>`,
Id: "MlrvalOrFunction",
NTType: 60,
Index: 222,
Index: 223,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -2926,7 +2936,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "MapLiteral",
NTType: 63,
Index: 223,
Index: 224,
NumSymbols: 2,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeZary(
@ -2945,7 +2955,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "MapLiteral",
NTType: 63,
Index: 224,
Index: 225,
NumSymbols: 3,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.AdoptChildren(
@ -2965,7 +2975,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "MapLiteralKeyValuePairs",
NTType: 64,
Index: 225,
Index: 226,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeUnary(
@ -2983,7 +2993,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "MapLiteralKeyValuePairs",
NTType: 64,
Index: 226,
Index: 227,
NumSymbols: 2,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeUnary(
@ -3000,7 +3010,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "MapLiteralKeyValuePairs",
NTType: 64,
Index: 227,
Index: 228,
NumSymbols: 3,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.PrependChild(
@ -3018,7 +3028,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "MapLiteralKeyValuePair",
NTType: 65,
Index: 228,
Index: 229,
NumSymbols: 3,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeBinary(
@ -3033,7 +3043,7 @@ var productionsTable = ProdTab{
String: `MlrvalOrFunction : ContextVariable << >>`,
Id: "MlrvalOrFunction",
NTType: 60,
Index: 229,
Index: 230,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3043,7 +3053,7 @@ var productionsTable = ProdTab{
String: `ContextVariable : ctx_IPS << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 66,
Index: 230,
Index: 231,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
@ -3053,7 +3063,7 @@ var productionsTable = ProdTab{
String: `ContextVariable : ctx_IFS << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 66,
Index: 231,
Index: 232,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
@ -3063,7 +3073,7 @@ var productionsTable = ProdTab{
String: `ContextVariable : ctx_IRS << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 66,
Index: 232,
Index: 233,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
@ -3073,7 +3083,7 @@ var productionsTable = ProdTab{
String: `ContextVariable : ctx_OPS << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 66,
Index: 233,
Index: 234,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
@ -3083,7 +3093,7 @@ var productionsTable = ProdTab{
String: `ContextVariable : ctx_OFS << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 66,
Index: 234,
Index: 235,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
@ -3093,7 +3103,7 @@ var productionsTable = ProdTab{
String: `ContextVariable : ctx_ORS << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 66,
Index: 235,
Index: 236,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
@ -3103,7 +3113,7 @@ var productionsTable = ProdTab{
String: `ContextVariable : ctx_OFLATSEP << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 66,
Index: 236,
Index: 237,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
@ -3113,7 +3123,7 @@ var productionsTable = ProdTab{
String: `ContextVariable : ctx_NF << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 66,
Index: 237,
Index: 238,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
@ -3123,7 +3133,7 @@ var productionsTable = ProdTab{
String: `ContextVariable : ctx_NR << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 66,
Index: 238,
Index: 239,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
@ -3133,7 +3143,7 @@ var productionsTable = ProdTab{
String: `ContextVariable : ctx_FNR << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 66,
Index: 239,
Index: 240,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
@ -3143,7 +3153,7 @@ var productionsTable = ProdTab{
String: `ContextVariable : ctx_FILENAME << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 66,
Index: 240,
Index: 241,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
@ -3153,7 +3163,7 @@ var productionsTable = ProdTab{
String: `ContextVariable : ctx_FILENUM << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 66,
Index: 241,
Index: 242,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
@ -3163,7 +3173,7 @@ var productionsTable = ProdTab{
String: `MlrvalOrFunction : ENV << >>`,
Id: "MlrvalOrFunction",
NTType: 60,
Index: 242,
Index: 243,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3177,7 +3187,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "ENV",
NTType: 67,
Index: 243,
Index: 244,
NumSymbols: 4,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeUnary(
@ -3191,7 +3201,7 @@ var productionsTable = ProdTab{
String: `MlrvalOrFunction : ArrayOrMapIndexAccess << >>`,
Id: "MlrvalOrFunction",
NTType: 60,
Index: 244,
Index: 245,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3201,7 +3211,7 @@ var productionsTable = ProdTab{
String: `MlrvalOrFunction : ArrayOrMapPositionalNameAccess << >>`,
Id: "MlrvalOrFunction",
NTType: 60,
Index: 245,
Index: 246,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3211,7 +3221,7 @@ var productionsTable = ProdTab{
String: `MlrvalOrFunction : ArrayOrMapPositionalValueAccess << >>`,
Id: "MlrvalOrFunction",
NTType: 60,
Index: 246,
Index: 247,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3221,7 +3231,7 @@ var productionsTable = ProdTab{
String: `MlrvalOrFunction : ArraySliceAccess << >>`,
Id: "MlrvalOrFunction",
NTType: 60,
Index: 247,
Index: 248,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3236,7 +3246,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "ArrayOrMapIndexAccess",
NTType: 68,
Index: 248,
Index: 249,
NumSymbols: 4,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeBinary(
@ -3256,7 +3266,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "ArrayOrMapPositionalNameAccess",
NTType: 69,
Index: 249,
Index: 250,
NumSymbols: 5,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeBinary(
@ -3276,7 +3286,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "ArrayOrMapPositionalValueAccess",
NTType: 70,
Index: 250,
Index: 251,
NumSymbols: 6,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeBinary(
@ -3297,7 +3307,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "ArraySliceAccess",
NTType: 71,
Index: 251,
Index: 252,
NumSymbols: 6,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeTernary(
@ -3322,7 +3332,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "ArraySliceAccess",
NTType: 71,
Index: 252,
Index: 253,
NumSymbols: 5,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeTernary(
@ -3350,7 +3360,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "ArraySliceAccess",
NTType: 71,
Index: 253,
Index: 254,
NumSymbols: 5,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeTernary(
@ -3381,7 +3391,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "ArraySliceAccess",
NTType: 71,
Index: 254,
Index: 255,
NumSymbols: 4,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeTernary(
@ -3403,7 +3413,7 @@ var productionsTable = ProdTab{
String: `MlrvalOrFunction : FunctionCallsite << >>`,
Id: "MlrvalOrFunction",
NTType: 60,
Index: 255,
Index: 256,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3416,7 +3426,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "FunctionCallsite",
NTType: 72,
Index: 256,
Index: 257,
NumSymbols: 3,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeZary(
@ -3435,7 +3445,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "FunctionCallsite",
NTType: 72,
Index: 257,
Index: 258,
NumSymbols: 4,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.AdoptChildren(
@ -3451,7 +3461,7 @@ var productionsTable = ProdTab{
String: `FunctionName : non_sigil_name << >>`,
Id: "FunctionName",
NTType: 73,
Index: 258,
Index: 259,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3461,7 +3471,7 @@ var productionsTable = ProdTab{
String: `FunctionName : int << >>`,
Id: "FunctionName",
NTType: 73,
Index: 259,
Index: 260,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3471,7 +3481,7 @@ var productionsTable = ProdTab{
String: `FunctionName : float << >>`,
Id: "FunctionName",
NTType: 73,
Index: 260,
Index: 261,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3485,7 +3495,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "FcnArgs",
NTType: 74,
Index: 261,
Index: 262,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeUnary(
@ -3503,7 +3513,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "FcnArgs",
NTType: 74,
Index: 262,
Index: 263,
NumSymbols: 2,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeUnary(
@ -3520,7 +3530,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "FcnArgs",
NTType: 74,
Index: 263,
Index: 264,
NumSymbols: 3,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.PrependChild(
@ -3536,7 +3546,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "SubroutineCallsite",
NTType: 75,
Index: 264,
Index: 265,
NumSymbols: 4,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeZary(
@ -3555,7 +3565,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "SubroutineCallsite",
NTType: 75,
Index: 265,
Index: 266,
NumSymbols: 5,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.AdoptChildren(
@ -3571,7 +3581,7 @@ var productionsTable = ProdTab{
String: `SubroutineName : non_sigil_name << >>`,
Id: "SubroutineName",
NTType: 76,
Index: 266,
Index: 267,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3581,7 +3591,7 @@ var productionsTable = ProdTab{
String: `BracefulStatement : BeginBlock << >>`,
Id: "BracefulStatement",
NTType: 77,
Index: 267,
Index: 268,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3591,7 +3601,7 @@ var productionsTable = ProdTab{
String: `BracefulStatement : EndBlock << >>`,
Id: "BracefulStatement",
NTType: 77,
Index: 268,
Index: 269,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3601,7 +3611,7 @@ var productionsTable = ProdTab{
String: `BracefulStatement : CondBlock << >>`,
Id: "BracefulStatement",
NTType: 77,
Index: 269,
Index: 270,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3611,7 +3621,7 @@ var productionsTable = ProdTab{
String: `BracefulStatement : IfChain << >>`,
Id: "BracefulStatement",
NTType: 77,
Index: 270,
Index: 271,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3621,7 +3631,7 @@ var productionsTable = ProdTab{
String: `BracefulStatement : WhileLoop << >>`,
Id: "BracefulStatement",
NTType: 77,
Index: 271,
Index: 272,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3631,7 +3641,7 @@ var productionsTable = ProdTab{
String: `BracefulStatement : ForLoop << >>`,
Id: "BracefulStatement",
NTType: 77,
Index: 272,
Index: 273,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3641,7 +3651,7 @@ var productionsTable = ProdTab{
String: `BracefulStatement : FunctionDefinition << >>`,
Id: "BracefulStatement",
NTType: 77,
Index: 273,
Index: 274,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3651,7 +3661,7 @@ var productionsTable = ProdTab{
String: `BracefulStatement : SubroutineDefinition << >>`,
Id: "BracefulStatement",
NTType: 77,
Index: 274,
Index: 275,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3661,7 +3671,7 @@ var productionsTable = ProdTab{
String: `BeginBlock : begin StatementBlockInBraces << dsl.NewASTNodeUnary(nil, X[1], dsl.NodeTypeBeginBlock) >>`,
Id: "BeginBlock",
NTType: 78,
Index: 275,
Index: 276,
NumSymbols: 2,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeUnary(nil, X[1], dsl.NodeTypeBeginBlock)
@ -3671,7 +3681,7 @@ var productionsTable = ProdTab{
String: `EndBlock : end StatementBlockInBraces << dsl.NewASTNodeUnary(nil, X[1], dsl.NodeTypeEndBlock) >>`,
Id: "EndBlock",
NTType: 79,
Index: 276,
Index: 277,
NumSymbols: 2,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeUnary(nil, X[1], dsl.NodeTypeEndBlock)
@ -3681,7 +3691,7 @@ var productionsTable = ProdTab{
String: `CondBlock : Rvalue StatementBlockInBraces << dsl.NewASTNodeBinary(nil, X[0], X[1], dsl.NodeTypeCondBlock) >>`,
Id: "CondBlock",
NTType: 80,
Index: 277,
Index: 278,
NumSymbols: 2,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeBinary(nil, X[0], X[1], dsl.NodeTypeCondBlock)
@ -3691,7 +3701,7 @@ var productionsTable = ProdTab{
String: `IfChain : IfElifStar << >>`,
Id: "IfChain",
NTType: 81,
Index: 278,
Index: 279,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3701,7 +3711,7 @@ var productionsTable = ProdTab{
String: `IfChain : IfElifStar ElseBlock << dsl.AppendChild(X[0], X[1]) >>`,
Id: "IfChain",
NTType: 81,
Index: 279,
Index: 280,
NumSymbols: 2,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.AppendChild(X[0], X[1])
@ -3711,7 +3721,7 @@ var productionsTable = ProdTab{
String: `IfElifStar : IfBlock << dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeIfChain) >>`,
Id: "IfElifStar",
NTType: 82,
Index: 280,
Index: 281,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeIfChain)
@ -3721,7 +3731,7 @@ var productionsTable = ProdTab{
String: `IfElifStar : IfElifStar ElifBlock << dsl.AppendChild(X[0], X[1]) >>`,
Id: "IfElifStar",
NTType: 82,
Index: 281,
Index: 282,
NumSymbols: 2,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.AppendChild(X[0], X[1])
@ -3731,7 +3741,7 @@ var productionsTable = ProdTab{
String: `IfBlock : if "(" Rvalue ")" StatementBlockInBraces << dsl.NewASTNodeBinary(X[0], X[2], X[4], dsl.NodeTypeIfItem) >>`,
Id: "IfBlock",
NTType: 83,
Index: 282,
Index: 283,
NumSymbols: 5,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeBinary(X[0], X[2], X[4], dsl.NodeTypeIfItem)
@ -3741,7 +3751,7 @@ var productionsTable = ProdTab{
String: `ElifBlock : elif "(" Rvalue ")" StatementBlockInBraces << dsl.NewASTNodeBinary(X[0], X[2], X[4], dsl.NodeTypeIfItem) >>`,
Id: "ElifBlock",
NTType: 84,
Index: 283,
Index: 284,
NumSymbols: 5,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeBinary(X[0], X[2], X[4], dsl.NodeTypeIfItem)
@ -3751,7 +3761,7 @@ var productionsTable = ProdTab{
String: `ElseBlock : else StatementBlockInBraces << dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeIfItem) >>`,
Id: "ElseBlock",
NTType: 85,
Index: 284,
Index: 285,
NumSymbols: 2,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeIfItem)
@ -3761,7 +3771,7 @@ var productionsTable = ProdTab{
String: `WhileLoop : while "(" Rvalue ")" StatementBlockInBraces << dsl.NewASTNodeBinary(X[0], X[2], X[4], dsl.NodeTypeWhileLoop) >>`,
Id: "WhileLoop",
NTType: 86,
Index: 285,
Index: 286,
NumSymbols: 5,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeBinary(X[0], X[2], X[4], dsl.NodeTypeWhileLoop)
@ -3771,7 +3781,7 @@ var productionsTable = ProdTab{
String: `DoWhileLoop : do StatementBlockInBraces while "(" Rvalue ")" << dsl.NewASTNodeBinary(X[0], X[1], X[4], dsl.NodeTypeDoWhileLoop) >>`,
Id: "DoWhileLoop",
NTType: 87,
Index: 286,
Index: 287,
NumSymbols: 6,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeBinary(X[0], X[1], X[4], dsl.NodeTypeDoWhileLoop)
@ -3781,7 +3791,7 @@ var productionsTable = ProdTab{
String: `ForLoop : ForLoopOneVariable << >>`,
Id: "ForLoop",
NTType: 88,
Index: 287,
Index: 288,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3791,7 +3801,7 @@ var productionsTable = ProdTab{
String: `ForLoop : ForLoopTwoVariable << >>`,
Id: "ForLoop",
NTType: 88,
Index: 288,
Index: 289,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3801,7 +3811,7 @@ var productionsTable = ProdTab{
String: `ForLoop : ForLoopMultivariable << >>`,
Id: "ForLoop",
NTType: 88,
Index: 289,
Index: 290,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3811,7 +3821,7 @@ var productionsTable = ProdTab{
String: `ForLoop : TripleForLoop << >>`,
Id: "ForLoop",
NTType: 88,
Index: 290,
Index: 291,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -3827,7 +3837,7 @@ var productionsTable = ProdTab{
); >>`,
Id: "ForLoopOneVariable",
NTType: 89,
Index: 291,
Index: 292,
NumSymbols: 7,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeTernary(
@ -3850,7 +3860,7 @@ var productionsTable = ProdTab{
); >>`,
Id: "ForLoopTwoVariable",
NTType: 90,
Index: 292,
Index: 293,
NumSymbols: 9,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeQuaternary(
@ -3874,7 +3884,7 @@ var productionsTable = ProdTab{
); >>`,
Id: "ForLoopMultivariable",
NTType: 91,
Index: 293,
Index: 294,
NumSymbols: 11,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeQuaternary(
@ -3896,7 +3906,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "MultiIndex",
NTType: 92,
Index: 294,
Index: 295,
NumSymbols: 3,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeBinary(
@ -3914,7 +3924,7 @@ var productionsTable = ProdTab{
) >>`,
Id: "MultiIndex",
NTType: 92,
Index: 295,
Index: 296,
NumSymbols: 3,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.AppendChild(
@ -3934,7 +3944,7 @@ var productionsTable = ProdTab{
); >>`,
Id: "TripleForLoop",
NTType: 93,
Index: 296,
Index: 297,
NumSymbols: 9,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeQuaternary(
@ -3951,7 +3961,7 @@ var productionsTable = ProdTab{
String: `TripleForStart : empty << dsl.NewASTNodeZary(nil, dsl.NodeTypeStatementBlock) >>`,
Id: "TripleForStart",
NTType: 94,
Index: 297,
Index: 298,
NumSymbols: 0,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeZary(nil, dsl.NodeTypeStatementBlock)
@ -3961,7 +3971,7 @@ var productionsTable = ProdTab{
String: `TripleForStart : Assignment << dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeStatementBlock) >>`,
Id: "TripleForStart",
NTType: 94,
Index: 298,
Index: 299,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeStatementBlock)
@ -3971,7 +3981,7 @@ var productionsTable = ProdTab{
String: `TripleForStart : TripleForStart "," Assignment << dsl.AppendChild(X[0], X[2]) >>`,
Id: "TripleForStart",
NTType: 94,
Index: 299,
Index: 300,
NumSymbols: 3,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.AppendChild(X[0], X[2])
@ -3981,7 +3991,7 @@ var productionsTable = ProdTab{
String: `TripleForContinuation : empty << dsl.NewASTNodeZary(nil, dsl.NodeTypeStatementBlock) >>`,
Id: "TripleForContinuation",
NTType: 95,
Index: 300,
Index: 301,
NumSymbols: 0,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeZary(nil, dsl.NodeTypeStatementBlock)
@ -3991,7 +4001,7 @@ var productionsTable = ProdTab{
String: `TripleForContinuation : TripleForContinuationItem << dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeStatementBlock) >>`,
Id: "TripleForContinuation",
NTType: 95,
Index: 301,
Index: 302,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeStatementBlock)
@ -4001,7 +4011,7 @@ var productionsTable = ProdTab{
String: `TripleForContinuation : TripleForContinuation "," TripleForContinuationItem << dsl.AppendChild(X[0], X[2]) >>`,
Id: "TripleForContinuation",
NTType: 95,
Index: 302,
Index: 303,
NumSymbols: 3,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.AppendChild(X[0], X[2])
@ -4011,7 +4021,7 @@ var productionsTable = ProdTab{
String: `TripleForContinuationItem : Assignment << >>`,
Id: "TripleForContinuationItem",
NTType: 96,
Index: 303,
Index: 304,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -4021,7 +4031,7 @@ var productionsTable = ProdTab{
String: `TripleForContinuationItem : BareBoolean << >>`,
Id: "TripleForContinuationItem",
NTType: 96,
Index: 304,
Index: 305,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return X[0], nil
@ -4031,7 +4041,7 @@ var productionsTable = ProdTab{
String: `TripleForUpdate : empty << dsl.NewASTNodeZary(nil, dsl.NodeTypeStatementBlock) >>`,
Id: "TripleForUpdate",
NTType: 97,
Index: 305,
Index: 306,
NumSymbols: 0,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeZary(nil, dsl.NodeTypeStatementBlock)
@ -4041,7 +4051,7 @@ var productionsTable = ProdTab{
String: `TripleForUpdate : Assignment << dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeStatementBlock) >>`,
Id: "TripleForUpdate",
NTType: 97,
Index: 306,
Index: 307,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeStatementBlock)
@ -4051,7 +4061,7 @@ var productionsTable = ProdTab{
String: `TripleForUpdate : TripleForUpdate "," Assignment << dsl.AppendChild(X[0], X[2]) >>`,
Id: "TripleForUpdate",
NTType: 97,
Index: 307,
Index: 308,
NumSymbols: 3,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.AppendChild(X[0], X[2])
@ -4061,7 +4071,7 @@ var productionsTable = ProdTab{
String: `BreakStatement : break << dsl.NewASTNodeZary(X[0], dsl.NodeTypeBreak) >>`,
Id: "BreakStatement",
NTType: 98,
Index: 308,
Index: 309,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeZary(X[0], dsl.NodeTypeBreak)
@ -4071,7 +4081,7 @@ var productionsTable = ProdTab{
String: `ContinueStatement : continue << dsl.NewASTNodeZary(X[0], dsl.NodeTypeContinue) >>`,
Id: "ContinueStatement",
NTType: 99,
Index: 309,
Index: 310,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeZary(X[0], dsl.NodeTypeContinue)
@ -4086,7 +4096,7 @@ var productionsTable = ProdTab{
); >>`,
Id: "FunctionDefinition",
NTType: 100,
Index: 310,
Index: 311,
NumSymbols: 6,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeBinary(
@ -4107,7 +4117,7 @@ var productionsTable = ProdTab{
); >>`,
Id: "FunctionDefinition",
NTType: 100,
Index: 311,
Index: 312,
NumSymbols: 8,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeTernary(
@ -4128,7 +4138,7 @@ var productionsTable = ProdTab{
); >>`,
Id: "SubroutineDefinition",
NTType: 101,
Index: 312,
Index: 313,
NumSymbols: 6,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeBinary(
@ -4143,7 +4153,7 @@ var productionsTable = ProdTab{
String: `FuncOrSubrParameterList : empty << dsl.NewASTNodeZary(nil, dsl.NodeTypeParameterList) >>`,
Id: "FuncOrSubrParameterList",
NTType: 102,
Index: 313,
Index: 314,
NumSymbols: 0,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeZary(nil, dsl.NodeTypeParameterList)
@ -4153,7 +4163,7 @@ var productionsTable = ProdTab{
String: `FuncOrSubrParameterList : FuncOrSubrNonEmptyParameterList << dsl.Wrap(X[0]) >>`,
Id: "FuncOrSubrParameterList",
NTType: 102,
Index: 314,
Index: 315,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.Wrap(X[0])
@ -4163,7 +4173,7 @@ var productionsTable = ProdTab{
String: `FuncOrSubrNonEmptyParameterList : FuncOrSubrParameter << dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeParameterList) >>`,
Id: "FuncOrSubrNonEmptyParameterList",
NTType: 103,
Index: 315,
Index: 316,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeParameterList)
@ -4173,7 +4183,7 @@ var productionsTable = ProdTab{
String: `FuncOrSubrNonEmptyParameterList : FuncOrSubrParameter "," << dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeParameterList) >>`,
Id: "FuncOrSubrNonEmptyParameterList",
NTType: 103,
Index: 316,
Index: 317,
NumSymbols: 2,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeParameterList)
@ -4183,7 +4193,7 @@ var productionsTable = ProdTab{
String: `FuncOrSubrNonEmptyParameterList : FuncOrSubrParameter "," FuncOrSubrNonEmptyParameterList << dsl.PrependChild(X[2], X[0]) >>`,
Id: "FuncOrSubrNonEmptyParameterList",
NTType: 103,
Index: 317,
Index: 318,
NumSymbols: 3,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.PrependChild(X[2], X[0])
@ -4194,24 +4204,6 @@ var productionsTable = ProdTab{
nil,
X[0],
dsl.NodeTypeParameter,
) >>`,
Id: "FuncOrSubrParameter",
NTType: 104,
Index: 318,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeParameter,
)
},
},
ProdTabEntry{
String: `FuncOrSubrParameter : TypedFuncOrSubrParameterName << dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeParameter,
) >>`,
Id: "FuncOrSubrParameter",
NTType: 104,
@ -4225,11 +4217,29 @@ var productionsTable = ProdTab{
)
},
},
ProdTabEntry{
String: `FuncOrSubrParameter : TypedFuncOrSubrParameterName << dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeParameter,
) >>`,
Id: "FuncOrSubrParameter",
NTType: 104,
Index: 320,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeParameter,
)
},
},
ProdTabEntry{
String: `UntypedFuncOrSubrParameterName : non_sigil_name << dsl.NewASTNode(X[0], dsl.NodeTypeParameterName) >>`,
Id: "UntypedFuncOrSubrParameterName",
NTType: 105,
Index: 320,
Index: 321,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeParameterName)
@ -4239,7 +4249,7 @@ var productionsTable = ProdTab{
String: `TypedFuncOrSubrParameterName : Typedecl UntypedFuncOrSubrParameterName << dsl.AppendChild(X[1], X[0]) >>`,
Id: "TypedFuncOrSubrParameterName",
NTType: 106,
Index: 321,
Index: 322,
NumSymbols: 2,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.AppendChild(X[1], X[0])
@ -4249,7 +4259,7 @@ var productionsTable = ProdTab{
String: `ReturnStatement : return Rvalue << dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeReturn) >>`,
Id: "ReturnStatement",
NTType: 107,
Index: 322,
Index: 323,
NumSymbols: 2,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeReturn)
@ -4259,7 +4269,7 @@ var productionsTable = ProdTab{
String: `ReturnStatement : return << dsl.NewASTNodeZary(X[0], dsl.NodeTypeReturn) >>`,
Id: "ReturnStatement",
NTType: 107,
Index: 323,
Index: 324,
NumSymbols: 1,
ReduceFunc: func(X []Attrib) (Attrib, error) {
return dsl.NewASTNodeZary(X[0], dsl.NodeTypeReturn)

View file

@ -223,6 +223,7 @@ var TokMap = TokenMap{
"int_literal",
"float_literal",
"boolean_literal",
"null_literal",
"const_M_PI",
"const_M_E",
"panic",
@ -365,39 +366,40 @@ var TokMap = TokenMap{
"int_literal": 102,
"float_literal": 103,
"boolean_literal": 104,
"const_M_PI": 105,
"const_M_E": 106,
"panic": 107,
"[": 108,
"ctx_IPS": 109,
"ctx_IFS": 110,
"ctx_IRS": 111,
"ctx_OPS": 112,
"ctx_OFS": 113,
"ctx_ORS": 114,
"ctx_OFLATSEP": 115,
"ctx_NF": 116,
"ctx_NR": 117,
"ctx_FNR": 118,
"ctx_FILENAME": 119,
"ctx_FILENUM": 120,
"env": 121,
"[[": 122,
"[[[": 123,
"call": 124,
"begin": 125,
"end": 126,
"if": 127,
"elif": 128,
"else": 129,
"while": 130,
"do": 131,
"for": 132,
"in": 133,
"break": 134,
"continue": 135,
"func": 136,
"subr": 137,
"return": 138,
"null_literal": 105,
"const_M_PI": 106,
"const_M_E": 107,
"panic": 108,
"[": 109,
"ctx_IPS": 110,
"ctx_IFS": 111,
"ctx_IRS": 112,
"ctx_OPS": 113,
"ctx_OFS": 114,
"ctx_ORS": 115,
"ctx_OFLATSEP": 116,
"ctx_NF": 117,
"ctx_NR": 118,
"ctx_FNR": 119,
"ctx_FILENAME": 120,
"ctx_FILENUM": 121,
"env": 122,
"[[": 123,
"[[[": 124,
"call": 125,
"begin": 126,
"end": 127,
"if": 128,
"elif": 129,
"else": 130,
"while": 131,
"do": 132,
"for": 133,
"in": 134,
"break": 135,
"continue": 136,
"func": 137,
"subr": 138,
"return": 139,
},
}