BNF neaten

This commit is contained in:
John Kerl 2020-09-07 22:28:07 -04:00
parent 72ef0dad6c
commit 90c4276972
9 changed files with 71703 additions and 73093 deletions

View file

@ -29,7 +29,7 @@ var ActTab = ActionTable{
Ignore: "!whitespace",
},
ActionRow{ // S2
Accept: 50,
Accept: 54,
Ignore: "",
},
ActionRow{ // S3
@ -41,27 +41,27 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S5
Accept: 46,
Accept: 50,
Ignore: "",
},
ActionRow{ // S6
Accept: 35,
Accept: 39,
Ignore: "",
},
ActionRow{ // S7
Accept: 53,
Accept: 57,
Ignore: "",
},
ActionRow{ // S8
Accept: 54,
Accept: 58,
Ignore: "",
},
ActionRow{ // S9
Accept: 43,
Accept: 47,
Ignore: "",
},
ActionRow{ // S10
Accept: 38,
Accept: 42,
Ignore: "",
},
ActionRow{ // S11
@ -69,15 +69,15 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S12
Accept: 39,
Accept: 43,
Ignore: "",
},
ActionRow{ // S13
Accept: 42,
Accept: 46,
Ignore: "",
},
ActionRow{ // S14
Accept: 44,
Accept: 48,
Ignore: "",
},
ActionRow{ // S15
@ -89,7 +89,7 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S17
Accept: 21,
Accept: 25,
Ignore: "",
},
ActionRow{ // S18
@ -97,7 +97,7 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S19
Accept: 31,
Accept: 35,
Ignore: "",
},
ActionRow{ // S20
@ -105,11 +105,11 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S21
Accept: 29,
Accept: 33,
Ignore: "",
},
ActionRow{ // S22
Accept: 20,
Accept: 24,
Ignore: "",
},
ActionRow{ // S23
@ -133,11 +133,11 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S28
Accept: 57,
Accept: 6,
Ignore: "",
},
ActionRow{ // S29
Accept: 34,
Accept: 38,
Ignore: "",
},
ActionRow{ // S30
@ -153,7 +153,7 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S33
Accept: 33,
Accept: 37,
Ignore: "",
},
ActionRow{ // S34
@ -161,11 +161,11 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S35
Accept: 51,
Accept: 55,
Ignore: "",
},
ActionRow{ // S36
Accept: 28,
Accept: 32,
Ignore: "",
},
ActionRow{ // S37
@ -177,23 +177,23 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S39
Accept: 58,
Accept: 7,
Ignore: "",
},
ActionRow{ // S40
Accept: 55,
Accept: 4,
Ignore: "",
},
ActionRow{ // S41
Accept: 55,
Accept: 4,
Ignore: "",
},
ActionRow{ // S42
Accept: 56,
Accept: 5,
Ignore: "",
},
ActionRow{ // S43
Accept: 55,
Accept: 4,
Ignore: "",
},
ActionRow{ // S44
@ -201,47 +201,47 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S45
Accept: 18,
Accept: 22,
Ignore: "",
},
ActionRow{ // S46
Accept: 24,
Accept: 28,
Ignore: "",
},
ActionRow{ // S47
Accept: 9,
Accept: 13,
Ignore: "",
},
ActionRow{ // S48
Accept: 52,
Accept: 56,
Ignore: "",
},
ActionRow{ // S49
Accept: 15,
Accept: 19,
Ignore: "",
},
ActionRow{ // S50
Accept: 12,
Accept: 16,
Ignore: "",
},
ActionRow{ // S51
Accept: 14,
Accept: 18,
Ignore: "",
},
ActionRow{ // S52
Accept: 47,
Accept: 51,
Ignore: "",
},
ActionRow{ // S53
Accept: 40,
Accept: 44,
Ignore: "",
},
ActionRow{ // S54
Accept: 41,
Accept: 45,
Ignore: "",
},
ActionRow{ // S55
Accept: 48,
Accept: 52,
Ignore: "",
},
ActionRow{ // S56
@ -249,15 +249,15 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S57
Accept: 13,
Accept: 17,
Ignore: "",
},
ActionRow{ // S58
Accept: 45,
Accept: 49,
Ignore: "",
},
ActionRow{ // S59
Accept: 16,
Accept: 20,
Ignore: "",
},
ActionRow{ // S60
@ -273,27 +273,27 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S63
Accept: 36,
Accept: 40,
Ignore: "",
},
ActionRow{ // S64
Accept: 32,
Accept: 36,
Ignore: "",
},
ActionRow{ // S65
Accept: 27,
Accept: 31,
Ignore: "",
},
ActionRow{ // S66
Accept: 25,
Accept: 29,
Ignore: "",
},
ActionRow{ // S67
Accept: 30,
Accept: 34,
Ignore: "",
},
ActionRow{ // S68
Accept: 37,
Accept: 41,
Ignore: "",
},
ActionRow{ // S69
@ -337,11 +337,11 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S79
Accept: 8,
Accept: 12,
Ignore: "",
},
ActionRow{ // S80
Accept: 23,
Accept: 27,
Ignore: "",
},
ActionRow{ // S81
@ -353,15 +353,15 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S83
Accept: 7,
Accept: 11,
Ignore: "",
},
ActionRow{ // S84
Accept: 22,
Accept: 26,
Ignore: "",
},
ActionRow{ // S85
Accept: 26,
Accept: 30,
Ignore: "",
},
ActionRow{ // S86
@ -369,15 +369,15 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S87
Accept: 6,
Accept: 10,
Ignore: "",
},
ActionRow{ // S88
Accept: 19,
Accept: 23,
Ignore: "",
},
ActionRow{ // S89
Accept: 49,
Accept: 53,
Ignore: "",
},
ActionRow{ // S90
@ -385,7 +385,7 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S91
Accept: 17,
Accept: 21,
Ignore: "",
},
ActionRow{ // S92
@ -409,11 +409,11 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S97
Accept: 10,
Accept: 14,
Ignore: "",
},
ActionRow{ // S98
Accept: 11,
Accept: 15,
Ignore: "",
},
ActionRow{ // S99
@ -449,7 +449,7 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S107
Accept: 5,
Accept: 9,
Ignore: "",
},
ActionRow{ // S108
@ -461,7 +461,7 @@ var ActTab = ActionTable{
Ignore: "",
},
ActionRow{ // S110
Accept: 4,
Accept: 8,
Ignore: "",
},
ActionRow{ // S111

View file

@ -181,103 +181,103 @@ Lexer symbols:
65: '%'
66: ';'
67: '='
68: '|'
69: '|'
70: '='
71: '^'
72: '^'
68: '$'
69: '['
70: ']'
71: '|'
72: '|'
73: '='
74: '&'
75: '&'
74: '^'
75: '^'
76: '='
77: '|'
78: '='
79: '^'
80: '='
81: '&'
82: '='
83: '<'
84: '<'
77: '&'
78: '&'
79: '='
80: '|'
81: '='
82: '^'
83: '='
84: '&'
85: '='
86: '>'
87: '>'
86: '<'
87: '<'
88: '='
89: '+'
90: '='
91: '.'
92: '='
93: '-'
94: '='
95: '*'
96: '='
97: '/'
98: '='
99: '/'
89: '>'
90: '>'
91: '='
92: '+'
93: '='
94: '.'
95: '='
96: '-'
97: '='
98: '*'
99: '='
100: '/'
101: '='
102: '%'
103: '='
104: '*'
105: '*'
102: '/'
103: '/'
104: '='
105: '%'
106: '='
107: '?'
108: ':'
109: '|'
110: '|'
111: '^'
112: '^'
113: '&'
114: '&'
115: '='
116: '~'
117: '!'
107: '*'
108: '*'
109: '='
110: '?'
111: ':'
112: '|'
113: '|'
114: '^'
115: '^'
116: '&'
117: '&'
118: '='
119: '~'
120: '='
120: '!'
121: '='
122: '!'
122: '~'
123: '='
124: '>'
125: '>'
124: '='
125: '!'
126: '='
127: '<'
128: '<'
127: '>'
128: '>'
129: '='
130: '|'
131: '^'
132: '&'
133: '<'
134: '<'
135: '>'
136: '>'
137: '+'
138: '-'
139: '.'
130: '<'
131: '<'
132: '='
133: '|'
134: '^'
135: '&'
136: '<'
137: '<'
138: '>'
139: '>'
140: '+'
141: '.'
142: '-'
143: '.'
144: '*'
145: '/'
146: '/'
147: '/'
148: '%'
149: '.'
150: '*'
151: '.'
152: '/'
153: '.'
154: '/'
141: '-'
142: '.'
143: '+'
144: '.'
145: '-'
146: '.'
147: '*'
148: '/'
149: '/'
150: '/'
151: '%'
152: '.'
153: '*'
154: '.'
155: '/'
156: '!'
157: '~'
158: '*'
159: '*'
160: '('
161: ')'
162: '$'
163: '['
164: ']'
156: '.'
157: '/'
158: '/'
159: '!'
160: '~'
161: '*'
162: '*'
163: '('
164: ')'
165: '['
166: ','
167: '{'

File diff suppressed because it is too large Load diff

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 = 124
numStates = 1050
numSymbols = 116
numProductions = 123
numStates = 1049
numSymbols = 115
)
// Stack

File diff suppressed because it is too large Load diff

View file

@ -123,6 +123,10 @@ var TokMap = TokenMap{
"$",
";",
"=",
"md_token_field_name",
"$[",
"]",
"md_token_full_srec",
"||=",
"^^=",
"&&=",
@ -174,10 +178,6 @@ var TokMap = TokenMap{
"**",
"(",
")",
"md_token_field_name",
"$[",
"]",
"md_token_full_srec",
"md_token_string_literal",
"md_token_int_literal",
"md_token_float_literal",
@ -205,61 +205,61 @@ var TokMap = TokenMap{
"$": 1,
";": 2,
"=": 3,
"||=": 4,
"^^=": 5,
"&&=": 6,
"|=": 7,
"^=": 8,
"&=": 9,
"<<=": 10,
">>=": 11,
"+=": 12,
".=": 13,
"-=": 14,
"*=": 15,
"/=": 16,
"//=": 17,
"%=": 18,
"**=": 19,
"?": 20,
":": 21,
"||": 22,
"^^": 23,
"&&": 24,
"=~": 25,
"!=~": 26,
"==": 27,
"!=": 28,
">": 29,
">=": 30,
"<": 31,
"<=": 32,
"|": 33,
"^": 34,
"&": 35,
"<<": 36,
">>": 37,
"+": 38,
"-": 39,
".+": 40,
".-": 41,
".": 42,
"*": 43,
"/": 44,
"//": 45,
"%": 46,
".*": 47,
"./": 48,
".//": 49,
"!": 50,
"~": 51,
"**": 52,
"(": 53,
")": 54,
"md_token_field_name": 55,
"$[": 56,
"]": 57,
"md_token_full_srec": 58,
"md_token_field_name": 4,
"$[": 5,
"]": 6,
"md_token_full_srec": 7,
"||=": 8,
"^^=": 9,
"&&=": 10,
"|=": 11,
"^=": 12,
"&=": 13,
"<<=": 14,
">>=": 15,
"+=": 16,
".=": 17,
"-=": 18,
"*=": 19,
"/=": 20,
"//=": 21,
"%=": 22,
"**=": 23,
"?": 24,
":": 25,
"||": 26,
"^^": 27,
"&&": 28,
"=~": 29,
"!=~": 30,
"==": 31,
"!=": 32,
">": 33,
">=": 34,
"<": 35,
"<=": 36,
"|": 37,
"^": 38,
"&": 39,
"<<": 40,
">>": 41,
"+": 42,
"-": 43,
".+": 44,
".-": 45,
".": 46,
"*": 47,
"/": 48,
"//": 49,
"%": 50,
".*": 51,
"./": 52,
".//": 53,
"!": 54,
"~": 55,
"**": 56,
"(": 57,
")": 58,
"md_token_string_literal": 59,
"md_token_int_literal": 60,
"md_token_float_literal": 61,

View file

@ -127,3 +127,6 @@ NITS/NON-IMMEDIATE:
- make a force-single-line writer
- make a jsonparse DSL function -- ?
d other formats: use JSON marshaler for collection types, maybe double-quoted
* better error-identification in the lexer / parser
o research gocc support
o maybe a case for hand-roll