mirror of
https://github.com/johnkerl/miller.git
synced 2026-07-30 03:01:39 +00:00
Add null literal to the DSL
This commit is contained in:
parent
cd36fe5508
commit
39dffd1173
12 changed files with 598279 additions and 589592 deletions
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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: "",
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
|
@ -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
|
|
@ -11,9 +11,9 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
numProductions = 324
|
||||
numStates = 4267
|
||||
numSymbols = 247
|
||||
numProductions = 325
|
||||
numStates = 4284
|
||||
numSymbols = 248
|
||||
)
|
||||
|
||||
// Stack
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
},
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue