diff --git a/lib/jison.js b/lib/jison.js index 3b01410d0..15d3129c5 100755 --- a/lib/jison.js +++ b/lib/jison.js @@ -953,12 +953,16 @@ lrGeneratorMixin.generateAMDModule = function generateAMDModule(opt){ var out = '\n\ndefine(function(require){\n' + module.commonCode + '\nvar parser = '+ module.moduleCode - + "\n"+this.moduleInclude - + (this.lexer && this.lexer.generateModule ? - '\n' + this.lexer.generateModule() + - '\nparser.lexer = lexer;' : '') - + '\nreturn parser;' - + '\n});' + + "\n"+this.moduleInclude; + if (this.lexer && this.lexer.generateModule) { + out += '\n' + this.lexer.generateModule() + + '\nparser.lexer = lexer;'; + if (this.options['ranges']) { + out += "\nparser.lexer.options.ranges = true;"; + } + } + out += '\nreturn parser;' + + '\n});'; return out; }; @@ -1072,6 +1076,9 @@ lrGeneratorMixin.generateModuleExpr = function generateModuleExpr () { if (this.lexer && this.lexer.generateModule) { out += this.lexer.generateModule(); out += "\nparser.lexer = lexer;"; + if (this.options['ranges']) { + out += "parser.lexer.options.ranges = true;"; + } } out += "\nfunction Parser () {\n this.yy = {};\n}\n" + "Parser.prototype = parser;"