Re-ordering lexer rules for fewer regex matches / slightly faster lexing.

This commit is contained in:
Jeremy Ashkenas 2010-06-27 10:58:08 -04:00
parent e020f5849c
commit 800fb81d1b
2 changed files with 18 additions and 18 deletions

View File

@ -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

View File

@ -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