tweak to parser.lexer

This commit is contained in:
Jeremy Ashkenas 2010-11-02 00:05:06 -04:00
parent 987aaa0e19
commit a257f5993a
2 changed files with 11 additions and 17 deletions

View File

@ -55,15 +55,12 @@
lexer = new Lexer; lexer = new Lexer;
parser.lexer = { parser.lexer = {
lex: function() { lex: function() {
var token; var tag, _ref;
token = this.tokens[this.pos] || [""]; _ref = this.tokens[this.pos++] || [''], tag = _ref[0], this.yytext = _ref[1], this.yylineno = _ref[2];
this.pos += 1; return tag;
this.yylineno = token[2];
this.yytext = token[1];
return token[0];
}, },
setInput: function(tokens) { setInput: function(_arg) {
this.tokens = tokens; this.tokens = _arg;
return this.pos = 0; return this.pos = 0;
}, },
upcomingInput: function() { upcomingInput: function() {

View File

@ -76,14 +76,11 @@ lexer = new Lexer
# directly as a "Jison lexer". # directly as a "Jison lexer".
parser.lexer = parser.lexer =
lex: -> lex: ->
token = @tokens[@pos] or [""] [tag, @yytext, @yylineno] = @tokens[@pos++] or ['']
@pos += 1 tag
this.yylineno = token[2] setInput: (@tokens) ->
this.yytext = token[1] @pos = 0
token[0] upcomingInput: ->
setInput: (tokens) -> ""
@tokens = tokens
@pos = 0
upcomingInput: -> ""
parser.yy = require './nodes' parser.yy = require './nodes'