Refactor "simple_and" emitter function a bit

redux
David Majda 13 years ago
parent 506d8107a1
commit f29ff236b8

@ -673,11 +673,6 @@ PEG.compiler.emitter = function(ast) {
},
simple_and: function(node, context) {
var expressionContext = {
resultIndex: context.resultIndex,
posIndex: context.posIndex + 1
};
return formatCode(
'#{posVar} = pos;',
'reportFailures++;',
@ -690,7 +685,10 @@ PEG.compiler.emitter = function(ast) {
' #{resultVar} = null;',
'}',
{
expressionCode: emit(node.expression, expressionContext),
expressionCode: emit(node.expression, {
resultIndex: context.resultIndex,
posIndex: context.posIndex + 1
}),
posVar: posVar(context.posIndex),
resultVar: resultVar(context.resultIndex)
}

Loading…
Cancel
Save