diff --git a/lib/jison.js b/lib/jison.js index d078056ee..866a51e8d 100755 --- a/lib/jison.js +++ b/lib/jison.js @@ -1092,12 +1092,16 @@ function addTokenStack (fn) { labeled[0].body = stackAst; - return escodegen.generate(ast).replace(/_token_stack:\s?/,"").replace(/\\\\n/g,"\\n"); + return escodegen.generate(ast); } catch (e) { return parseFn; } } +function removeTokenStackLabel(code) { + return code.replace(/_token_stack:\s?/,"").replace(/\\\\n/g,"\\n"); +} + // lex function that supports token stacks function tokenStackLex() { var token; @@ -1143,6 +1147,8 @@ lrGeneratorMixin.generateModule_ = function generateModule_ () { if (this.options['token-stack']) { parseFn = addTokenStack(parseFn); } + + parseFn = removeTokenStackLabel(parseFn); // Generate code with fresh variable names nextVariableId = 0;