Skip to content

Commit

Permalink
Move tokenizer and parser functions into closures so they could be ev…
Browse files Browse the repository at this point in the history
…aluated only once instead of for every run
  • Loading branch information
arikon committed Dec 8, 2012
1 parent 5034176 commit ffd3a25
Show file tree
Hide file tree
Showing 6 changed files with 52 additions and 28 deletions.
26 changes: 17 additions & 9 deletions lib/gonzales.cssp.node.js
@@ -1,4 +1,4 @@
function srcToCSSP(s, rule, _needInfo) {
var srcToCSSP = (function() {
var TokenType = {
StringSQ: 'StringSQ',
StringDQ: 'StringDQ',
Expand Down Expand Up @@ -45,7 +45,8 @@ var TokenType = {
DecimalNumber: 'DecimalNumber'
};

function getTokens(s) {
var getTokens = (function() {

var Punctuation,
urlMode = false,
blockMode = 0;
Expand Down Expand Up @@ -268,11 +269,14 @@ function getTokens(s) {
}
}

return _getTokens(s);
}
return function(s) {
return _getTokens(s);
};

}());
// version: 1.0.0

function getCSSPAST(_tokens, rule, _needInfo) {
var getCSSPAST = (function() {

var tokens,
pos,
Expand Down Expand Up @@ -2281,9 +2285,13 @@ function getCSSPAST(_tokens, rule, _needInfo) {
if (sc !== -1) tokens[sc].sc_last = i - 1;
}

return _getAST(_tokens, rule, _needInfo);
}
return function(_tokens, rule, _needInfo) {
return _getAST(_tokens, rule, _needInfo);
}

return getCSSPAST(getTokens(s), rule, _needInfo);
}
}());
return function(s, rule, _needInfo) {
return getCSSPAST(getTokens(s), rule, _needInfo);
}
}());
exports.srcToCSSP = srcToCSSP;
9 changes: 6 additions & 3 deletions src/cssp.ast.shared.js
@@ -1,6 +1,6 @@
// version: 1.0.0

function getCSSPAST(_tokens, rule, _needInfo) {
var getCSSPAST = (function() {

var tokens,
pos,
Expand Down Expand Up @@ -2009,5 +2009,8 @@ function getCSSPAST(_tokens, rule, _needInfo) {
if (sc !== -1) tokens[sc].sc_last = i - 1;
}

return _getAST(_tokens, rule, _needInfo);
}
return function(_tokens, rule, _needInfo) {
return _getAST(_tokens, rule, _needInfo);
}

}());
7 changes: 4 additions & 3 deletions src/gonzales.cssp.footer.js
@@ -1,3 +1,4 @@

return getCSSPAST(getTokens(s), rule, _needInfo);
}
return function(s, rule, _needInfo) {
return getCSSPAST(getTokens(s), rule, _needInfo);
}
}());
2 changes: 1 addition & 1 deletion src/gonzales.cssp.header.js
@@ -1 +1 @@
function srcToCSSP(s, rule, _needInfo) {
var srcToCSSP = (function() {
10 changes: 7 additions & 3 deletions src/tokenizer.shared.js
Expand Up @@ -44,7 +44,8 @@ var TokenType = {
DecimalNumber: 'DecimalNumber'
};

function getTokens(s) {
var getTokens = (function() {

var Punctuation,
urlMode = false,
blockMode = 0;
Expand Down Expand Up @@ -267,5 +268,8 @@ function getTokens(s) {
}
}

return _getTokens(s);
}
return function(s) {
return _getTokens(s);
};

}());
26 changes: 17 additions & 9 deletions web/gonzales.cssp.web.js
@@ -1,4 +1,4 @@
function srcToCSSP(s, rule, _needInfo) {
var srcToCSSP = (function() {
var TokenType = {
StringSQ: 'StringSQ',
StringDQ: 'StringDQ',
Expand Down Expand Up @@ -45,7 +45,8 @@ var TokenType = {
DecimalNumber: 'DecimalNumber'
};

function getTokens(s) {
var getTokens = (function() {

var Punctuation,
urlMode = false,
blockMode = 0;
Expand Down Expand Up @@ -268,11 +269,14 @@ function getTokens(s) {
}
}

return _getTokens(s);
}
return function(s) {
return _getTokens(s);
};

}());
// version: 1.0.0

function getCSSPAST(_tokens, rule, _needInfo) {
var getCSSPAST = (function() {

var tokens,
pos,
Expand Down Expand Up @@ -2281,8 +2285,12 @@ function getCSSPAST(_tokens, rule, _needInfo) {
if (sc !== -1) tokens[sc].sc_last = i - 1;
}

return _getAST(_tokens, rule, _needInfo);
}
return function(_tokens, rule, _needInfo) {
return _getAST(_tokens, rule, _needInfo);
}

return getCSSPAST(getTokens(s), rule, _needInfo);
}
}());
return function(s, rule, _needInfo) {
return getCSSPAST(getTokens(s), rule, _needInfo);
}
}());

0 comments on commit ffd3a25

Please sign in to comment.