Skip to content

Commit 1ea3d4b

Browse files
committedFeb 2, 2019
Default case for nullable rules I guess
1 parent d4e1bb2 commit 1ea3d4b

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed
 

‎ll1/index.js

+7-3
Original file line numberDiff line numberDiff line change
@@ -81,16 +81,20 @@ function compileRule(name, rules) {
8181
let source = ""
8282

8383
function alt(rules) {
84+
let nullable = false
8485
source += "switch (tok.type) {\n"
8586
for (let rule of rules) {
8687
const first = rule.children[0]
87-
source += "case " + JSON.stringify(first.name) + ": // " + formatRule(rule) + "\n"
88+
if (!first) {
89+
source += "default:\n"
90+
} else {
91+
source += "case " + JSON.stringify(first.name) + ": // " + formatRule(rule) + "\n"
92+
}
8893
seq(rule)
8994
source += "\n"
9095
}
91-
source += "default:\n"
92-
source += 'syntaxError("Unexpected \'" + tok.type + "\'")\n'
9396
source += "}\n"
97+
source += 'syntaxError("Unexpected \'" + tok.type + "\'")\n'
9498
}
9599

96100
function seq(rule) {

0 commit comments

Comments
 (0)
Please sign in to comment.