Re-ordering lexer rules for fewer regex matches / slightly faster lexing.
This commit is contained in:
parent
e020f5849c
commit
800fb81d1b
26
lib/lexer.js
26
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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue