From 800fb81d1b9ed307e0a118057d29f8199188e0c7 Mon Sep 17 00:00:00 2001 From: Jeremy Ashkenas Date: Sun, 27 Jun 2010 10:58:08 -0400 Subject: [PATCH] Re-ordering lexer rules for fewer regex matches / slightly faster lexing. --- lib/lexer.js | 26 +++++++++++++------------- src/lexer.coffee | 10 +++++----- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/lib/lexer.js b/lib/lexer.js index b72575fe..98bbdfcc 100644 --- a/lib/lexer.js +++ b/lib/lexer.js @@ -77,30 +77,30 @@ if (this.identifierToken()) { return null; } - if (this.numberToken()) { - return null; - } - if (this.heredocToken()) { - return null; - } - if (this.regexToken()) { - return null; - } if (this.commentToken()) { return null; } - if (this.lineToken()) { - return null; - } if (this.whitespaceToken()) { return null; } - if (this.jsToken()) { + if (this.lineToken()) { + return null; + } + if (this.heredocToken()) { return null; } if (this.stringToken()) { return null; } + if (this.numberToken()) { + return null; + } + if (this.regexToken()) { + return null; + } + if (this.jsToken()) { + return null; + } return this.literalToken(); }; // Tokenizers diff --git a/src/lexer.coffee b/src/lexer.coffee index 7ab36649..7a1c9d6f 100644 --- a/src/lexer.coffee +++ b/src/lexer.coffee @@ -61,14 +61,14 @@ exports.Lexer: class Lexer # `@literalToken` is the fallback catch-all. extractNextToken: -> return if @identifierToken() - return if @numberToken() - return if @heredocToken() - return if @regexToken() return if @commentToken() - return if @lineToken() return if @whitespaceToken() - return if @jsToken() + return if @lineToken() + return if @heredocToken() return if @stringToken() + return if @numberToken() + return if @regexToken() + return if @jsToken() return @literalToken() # Tokenizers