From 85c1b010b61acefc084794082a1ec3a03b0696a7 Mon Sep 17 00:00:00 2001 From: David Majda Date: Fri, 23 Sep 2011 17:33:58 +0200 Subject: [PATCH] Refactor "one_or_more" emitter function a bit --- src/emitter.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/emitter.js b/src/emitter.js index 0afe90f..011f816 100644 --- a/src/emitter.js +++ b/src/emitter.js @@ -775,11 +775,6 @@ PEG.compiler.emitter = function(ast) { }, one_or_more: function(node, context) { - var expressionContext = { - resultIndex: context.resultIndex + 1, - posIndex: context.posIndex - }; - return formatCode( '#block expressionCode', 'if (#{expressionResultVar} !== null) {', @@ -792,7 +787,10 @@ PEG.compiler.emitter = function(ast) { ' #{resultVar} = null;', '}', { - expressionCode: emit(node.expression, expressionContext), + expressionCode: emit(node.expression, { + resultIndex: context.resultIndex + 1, + posIndex: context.posIndex + }), expressionResultVar: resultVar(context.resultIndex + 1), resultVar: resultVar(context.resultIndex) }