diff --git a/lib/compiler/passes/generate-bytecode.js b/lib/compiler/passes/generate-bytecode.js index 65caf799..fd8c838d 100644 --- a/lib/compiler/passes/generate-bytecode.js +++ b/lib/compiler/passes/generate-bytecode.js @@ -362,14 +362,12 @@ function generateBytecode(ast, options) { return buildSequence( [op.PUSH_CURR_POS], - [op.SILENT_FAILS_ON], // eslint-disable-next-line no-use-before-define -- Mutual recursion generate(expression, { sp: context.sp + 1, env: cloneEnv(context.env), action: null, }), - [op.SILENT_FAILS_OFF], buildCondition( negative ? -match : match, [negative ? op.IF_ERROR : op.IF_NOT_ERROR], diff --git a/test/behavior/generated-parser-behavior.spec.js b/test/behavior/generated-parser-behavior.spec.js index 013c7aa3..c4816503 100644 --- a/test/behavior/generated-parser-behavior.spec.js +++ b/test/behavior/generated-parser-behavior.spec.js @@ -2183,6 +2183,7 @@ describe("generated parser behavior", () => { expect(parser).to.failToParse("d", { expected: [ { type: "literal", text: "a", ignoreCase: false }, + { type: "literal", text: "b", ignoreCase: false }, { type: "literal", text: "c", ignoreCase: false }, ], }); diff --git a/test/unit/compiler/passes/generate-bytecode.spec.js b/test/unit/compiler/passes/generate-bytecode.spec.js index bea90657..901b5e08 100644 --- a/test/unit/compiler/passes/generate-bytecode.spec.js +++ b/test/unit/compiler/passes/generate-bytecode.spec.js @@ -398,9 +398,7 @@ describe("compiler pass |generateBytecode|", () => { it("generates correct bytecode", () => { expect(pass).to.changeAST(grammar, bytecodeDetails([ 5, // PUSH_CURR_POS - 28, // SILENT_FAILS_ON 18, 0, 2, 2, 22, 0, 23, 0, // - 29, // SILENT_FAILS_OFF 15, 3, 3, // IF_NOT_ERROR 6, // * POP 7, // POP_CURR_POS @@ -427,9 +425,7 @@ describe("compiler pass |generateBytecode|", () => { it("generates correct bytecode", () => { expect(pass).to.changeAST(grammar, bytecodeDetails([ 5, // PUSH_CURR_POS - 28, // SILENT_FAILS_ON 18, 0, 2, 2, 22, 0, 23, 0, // - 29, // SILENT_FAILS_OFF 14, 3, 3, // IF_ERROR 6, // * POP 6, // POP