Rename |reportedPos| to |savedPos|
Preform the following renames: * |reportedPos| -> |savedPos| (abstract machine variable) * |peg$reportedPos| -> |peg$savedPos| (variable in generated code) * |REPORT_SAVED_POS| -> |LOAD_SAVED_POS| (instruction) * |REPORT_CURR_POS| -> |UPDATE_SAVED_POS| (instruction) The idea is that the name |reportedPos| is no longer accurate after the |location| change (seea the previous commit) because now both |reportedPos| and |currPos| are reported to user code. Renaming to |savedPos| resolves this inaccuracy. There is probably some better name for the concept than quite generic |savedPos|, but it doesn't come to me.
This commit is contained in:
parent
4f7145e360
commit
b1ad2a1f61
|
@ -35,8 +35,8 @@ var opcodes = {
|
||||||
|
|
||||||
/* Calls */
|
/* Calls */
|
||||||
|
|
||||||
REPORT_SAVED_POS: 20, // REPORT_SAVED_POS p
|
LOAD_SAVED_POS: 20, // LOAD_SAVED_POS p
|
||||||
REPORT_CURR_POS: 21, // REPORT_CURR_POS
|
UPDATE_SAVED_POS: 21, // UPDATE_SAVED_POS
|
||||||
CALL: 22, // CALL f, n, pc, p1, p2, ..., pN
|
CALL: 22, // CALL f, n, pc, p1, p2, ..., pN
|
||||||
|
|
||||||
/* Rules */
|
/* Rules */
|
||||||
|
|
|
@ -156,13 +156,13 @@ var arrays = require("../../utils/arrays"),
|
||||||
* Calls
|
* Calls
|
||||||
* -----
|
* -----
|
||||||
*
|
*
|
||||||
* [20] REPORT_SAVED_POS p
|
* [20] LOAD_SAVED_POS p
|
||||||
*
|
*
|
||||||
* reportedPos = stack[p];
|
* savedPos = stack[p];
|
||||||
*
|
*
|
||||||
* [21] REPORT_CURR_POS
|
* [21] UPDATE_SAVED_POS
|
||||||
*
|
*
|
||||||
* reportedPos = currPos;
|
* savedPos = currPos;
|
||||||
*
|
*
|
||||||
* [22] CALL f, n, pc, p1, p2, ..., pN
|
* [22] CALL f, n, pc, p1, p2, ..., pN
|
||||||
*
|
*
|
||||||
|
@ -255,7 +255,7 @@ function generateBytecode(ast) {
|
||||||
var functionIndex = addFunctionConst(objects.keys(context.env), code);
|
var functionIndex = addFunctionConst(objects.keys(context.env), code);
|
||||||
|
|
||||||
return buildSequence(
|
return buildSequence(
|
||||||
[op.REPORT_CURR_POS],
|
[op.UPDATE_SAVED_POS],
|
||||||
buildCall(functionIndex, 0, context.env, context.sp),
|
buildCall(functionIndex, 0, context.env, context.sp),
|
||||||
buildCondition(
|
buildCondition(
|
||||||
[op.IF],
|
[op.IF],
|
||||||
|
@ -354,7 +354,7 @@ function generateBytecode(ast) {
|
||||||
buildCondition(
|
buildCondition(
|
||||||
[op.IF_NOT_ERROR],
|
[op.IF_NOT_ERROR],
|
||||||
buildSequence(
|
buildSequence(
|
||||||
[op.REPORT_SAVED_POS, 1],
|
[op.LOAD_SAVED_POS, 1],
|
||||||
buildCall(functionIndex, 1, env, context.sp + 2)
|
buildCall(functionIndex, 1, env, context.sp + 2)
|
||||||
),
|
),
|
||||||
[]
|
[]
|
||||||
|
@ -399,7 +399,7 @@ function generateBytecode(ast) {
|
||||||
);
|
);
|
||||||
|
|
||||||
return buildSequence(
|
return buildSequence(
|
||||||
[op.REPORT_SAVED_POS, node.elements.length],
|
[op.LOAD_SAVED_POS, node.elements.length],
|
||||||
buildCall(
|
buildCall(
|
||||||
functionIndex,
|
functionIndex,
|
||||||
node.elements.length,
|
node.elements.length,
|
||||||
|
|
|
@ -348,13 +348,13 @@ function generateJavascript(ast, options) {
|
||||||
' ip += 2;',
|
' ip += 2;',
|
||||||
' break;',
|
' break;',
|
||||||
'',
|
'',
|
||||||
' case ' + op.REPORT_SAVED_POS + ':', // REPORT_SAVED_POS p
|
' case ' + op.LOAD_SAVED_POS + ':', // LOAD_SAVED_POS p
|
||||||
' peg$reportedPos = stack[stack.length - 1 - bc[ip + 1]];',
|
' peg$savedPos = stack[stack.length - 1 - bc[ip + 1]];',
|
||||||
' ip += 2;',
|
' ip += 2;',
|
||||||
' break;',
|
' break;',
|
||||||
'',
|
'',
|
||||||
' case ' + op.REPORT_CURR_POS + ':', // REPORT_CURR_POS
|
' case ' + op.UPDATE_SAVED_POS + ':', // UPDATE_SAVED_POS
|
||||||
' peg$reportedPos = peg$currPos;',
|
' peg$savedPos = peg$currPos;',
|
||||||
' ip++;',
|
' ip++;',
|
||||||
' break;',
|
' break;',
|
||||||
'',
|
'',
|
||||||
|
@ -666,13 +666,13 @@ function generateJavascript(ast, options) {
|
||||||
ip += 2;
|
ip += 2;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case op.REPORT_SAVED_POS: // REPORT_SAVED_POS p
|
case op.LOAD_SAVED_POS: // LOAD_SAVED_POS p
|
||||||
parts.push('peg$reportedPos = ' + stack.index(bc[ip + 1]) + ';');
|
parts.push('peg$savedPos = ' + stack.index(bc[ip + 1]) + ';');
|
||||||
ip += 2;
|
ip += 2;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case op.REPORT_CURR_POS: // REPORT_CURR_POS
|
case op.UPDATE_SAVED_POS: // UPDATE_SAVED_POS
|
||||||
parts.push('peg$reportedPos = peg$currPos;');
|
parts.push('peg$savedPos = peg$currPos;');
|
||||||
ip++;
|
ip++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -858,7 +858,7 @@ function generateJavascript(ast, options) {
|
||||||
parts.push([
|
parts.push([
|
||||||
'',
|
'',
|
||||||
' peg$currPos = 0,',
|
' peg$currPos = 0,',
|
||||||
' peg$reportedPos = 0,',
|
' peg$savedPos = 0,',
|
||||||
' peg$cachedPos = 0,',
|
' peg$cachedPos = 0,',
|
||||||
' peg$cachedPosDetails = { line: 1, column: 1, seenCR: false },',
|
' peg$cachedPosDetails = { line: 1, column: 1, seenCR: false },',
|
||||||
' peg$maxFailPos = 0,',
|
' peg$maxFailPos = 0,',
|
||||||
|
@ -925,18 +925,18 @@ function generateJavascript(ast, options) {
|
||||||
parts.push([
|
parts.push([
|
||||||
'',
|
'',
|
||||||
' function text() {',
|
' function text() {',
|
||||||
' return input.substring(peg$reportedPos, peg$currPos);',
|
' return input.substring(peg$savedPos, peg$currPos);',
|
||||||
' }',
|
' }',
|
||||||
'',
|
'',
|
||||||
' function location() {',
|
' function location() {',
|
||||||
' var reportedPosDetails = peg$computePosDetails(peg$reportedPos),',
|
' var savedPosDetails = peg$computePosDetails(peg$savedPos),',
|
||||||
' currPosDetails = peg$computePosDetails(peg$currPos);',
|
' currPosDetails = peg$computePosDetails(peg$currPos);',
|
||||||
'',
|
'',
|
||||||
' return {',
|
' return {',
|
||||||
' start: {',
|
' start: {',
|
||||||
' offset: peg$reportedPos,',
|
' offset: peg$savedPos,',
|
||||||
' line: reportedPosDetails.line,',
|
' line: savedPosDetails.line,',
|
||||||
' column: reportedPosDetails.column',
|
' column: savedPosDetails.column',
|
||||||
' },',
|
' },',
|
||||||
' end: {',
|
' end: {',
|
||||||
' offset: peg$currPos,',
|
' offset: peg$currPos,',
|
||||||
|
@ -950,12 +950,12 @@ function generateJavascript(ast, options) {
|
||||||
' throw peg$buildException(',
|
' throw peg$buildException(',
|
||||||
' null,',
|
' null,',
|
||||||
' [{ type: "other", description: description }],',
|
' [{ type: "other", description: description }],',
|
||||||
' peg$reportedPos',
|
' peg$savedPos',
|
||||||
' );',
|
' );',
|
||||||
' }',
|
' }',
|
||||||
'',
|
'',
|
||||||
' function error(message) {',
|
' function error(message) {',
|
||||||
' throw peg$buildException(message, null, peg$reportedPos);',
|
' throw peg$buildException(message, null, peg$savedPos);',
|
||||||
' }',
|
' }',
|
||||||
'',
|
'',
|
||||||
' function peg$computePosDetails(pos) {',
|
' function peg$computePosDetails(pos) {',
|
||||||
|
|
|
@ -335,7 +335,7 @@ module.exports = (function() {
|
||||||
peg$c239 = { type: "literal", value: ";", description: "\";\"" },
|
peg$c239 = { type: "literal", value: ";", description: "\";\"" },
|
||||||
|
|
||||||
peg$currPos = 0,
|
peg$currPos = 0,
|
||||||
peg$reportedPos = 0,
|
peg$savedPos = 0,
|
||||||
peg$cachedPos = 0,
|
peg$cachedPos = 0,
|
||||||
peg$cachedPosDetails = { line: 1, column: 1, seenCR: false },
|
peg$cachedPosDetails = { line: 1, column: 1, seenCR: false },
|
||||||
peg$maxFailPos = 0,
|
peg$maxFailPos = 0,
|
||||||
|
@ -353,18 +353,18 @@ module.exports = (function() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function text() {
|
function text() {
|
||||||
return input.substring(peg$reportedPos, peg$currPos);
|
return input.substring(peg$savedPos, peg$currPos);
|
||||||
}
|
}
|
||||||
|
|
||||||
function location() {
|
function location() {
|
||||||
var reportedPosDetails = peg$computePosDetails(peg$reportedPos),
|
var savedPosDetails = peg$computePosDetails(peg$savedPos),
|
||||||
currPosDetails = peg$computePosDetails(peg$currPos);
|
currPosDetails = peg$computePosDetails(peg$currPos);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
start: {
|
start: {
|
||||||
offset: peg$reportedPos,
|
offset: peg$savedPos,
|
||||||
line: reportedPosDetails.line,
|
line: savedPosDetails.line,
|
||||||
column: reportedPosDetails.column
|
column: savedPosDetails.column
|
||||||
},
|
},
|
||||||
end: {
|
end: {
|
||||||
offset: peg$currPos,
|
offset: peg$currPos,
|
||||||
|
@ -378,12 +378,12 @@ module.exports = (function() {
|
||||||
throw peg$buildException(
|
throw peg$buildException(
|
||||||
null,
|
null,
|
||||||
[{ type: "other", description: description }],
|
[{ type: "other", description: description }],
|
||||||
peg$reportedPos
|
peg$savedPos
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function error(message) {
|
function error(message) {
|
||||||
throw peg$buildException(message, null, peg$reportedPos);
|
throw peg$buildException(message, null, peg$savedPos);
|
||||||
}
|
}
|
||||||
|
|
||||||
function peg$computePosDetails(pos) {
|
function peg$computePosDetails(pos) {
|
||||||
|
@ -574,7 +574,7 @@ module.exports = (function() {
|
||||||
s3 = peg$FAILED;
|
s3 = peg$FAILED;
|
||||||
}
|
}
|
||||||
if (s3 !== peg$FAILED) {
|
if (s3 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c0(s2, s3);
|
s1 = peg$c0(s2, s3);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -601,7 +601,7 @@ module.exports = (function() {
|
||||||
if (s1 !== peg$FAILED) {
|
if (s1 !== peg$FAILED) {
|
||||||
s2 = peg$parseEOS();
|
s2 = peg$parseEOS();
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c1(s1);
|
s1 = peg$c1(s1);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -657,7 +657,7 @@ module.exports = (function() {
|
||||||
if (s6 !== peg$FAILED) {
|
if (s6 !== peg$FAILED) {
|
||||||
s7 = peg$parseEOS();
|
s7 = peg$parseEOS();
|
||||||
if (s7 !== peg$FAILED) {
|
if (s7 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c4(s1, s3, s6);
|
s1 = peg$c4(s1, s3, s6);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -769,7 +769,7 @@ module.exports = (function() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c7(s1, s2);
|
s1 = peg$c7(s1, s2);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -809,7 +809,7 @@ module.exports = (function() {
|
||||||
s2 = null;
|
s2 = null;
|
||||||
}
|
}
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c8(s1, s2);
|
s1 = peg$c8(s1, s2);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -865,7 +865,7 @@ module.exports = (function() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c9(s1, s2);
|
s1 = peg$c9(s1, s2);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -900,7 +900,7 @@ module.exports = (function() {
|
||||||
if (s4 !== peg$FAILED) {
|
if (s4 !== peg$FAILED) {
|
||||||
s5 = peg$parsePrefixedExpression();
|
s5 = peg$parsePrefixedExpression();
|
||||||
if (s5 !== peg$FAILED) {
|
if (s5 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c12(s1, s5);
|
s1 = peg$c12(s1, s5);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -940,7 +940,7 @@ module.exports = (function() {
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
s3 = peg$parseSuffixedExpression();
|
s3 = peg$parseSuffixedExpression();
|
||||||
if (s3 !== peg$FAILED) {
|
if (s3 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c13(s1, s3);
|
s1 = peg$c13(s1, s3);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1004,7 +1004,7 @@ module.exports = (function() {
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
s3 = peg$parseSuffixedOperator();
|
s3 = peg$parseSuffixedOperator();
|
||||||
if (s3 !== peg$FAILED) {
|
if (s3 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c20(s1, s3);
|
s1 = peg$c20(s1, s3);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1094,7 +1094,7 @@ module.exports = (function() {
|
||||||
if (peg$silentFails === 0) { peg$fail(peg$c30); }
|
if (peg$silentFails === 0) { peg$fail(peg$c30); }
|
||||||
}
|
}
|
||||||
if (s5 !== peg$FAILED) {
|
if (s5 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c31(s3);
|
s1 = peg$c31(s3);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1186,7 +1186,7 @@ module.exports = (function() {
|
||||||
s2 = peg$FAILED;
|
s2 = peg$FAILED;
|
||||||
}
|
}
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c32(s1);
|
s1 = peg$c32(s1);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1211,7 +1211,7 @@ module.exports = (function() {
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
s3 = peg$parseCodeBlock();
|
s3 = peg$parseCodeBlock();
|
||||||
if (s3 !== peg$FAILED) {
|
if (s3 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c33(s1, s3);
|
s1 = peg$c33(s1, s3);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1730,7 +1730,7 @@ module.exports = (function() {
|
||||||
if (s1 !== peg$FAILED) {
|
if (s1 !== peg$FAILED) {
|
||||||
s2 = peg$parseIdentifierName();
|
s2 = peg$parseIdentifierName();
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c68(s2);
|
s1 = peg$c68(s2);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1759,7 +1759,7 @@ module.exports = (function() {
|
||||||
s3 = peg$parseIdentifierPart();
|
s3 = peg$parseIdentifierPart();
|
||||||
}
|
}
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c70(s1, s2);
|
s1 = peg$c70(s1, s2);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1811,7 +1811,7 @@ module.exports = (function() {
|
||||||
if (s1 !== peg$FAILED) {
|
if (s1 !== peg$FAILED) {
|
||||||
s2 = peg$parseUnicodeEscapeSequence();
|
s2 = peg$parseUnicodeEscapeSequence();
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c75(s2);
|
s1 = peg$c75(s2);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2053,7 +2053,7 @@ module.exports = (function() {
|
||||||
s2 = null;
|
s2 = null;
|
||||||
}
|
}
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c83(s1, s2);
|
s1 = peg$c83(s1, s2);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2101,7 +2101,7 @@ module.exports = (function() {
|
||||||
if (peg$silentFails === 0) { peg$fail(peg$c86); }
|
if (peg$silentFails === 0) { peg$fail(peg$c86); }
|
||||||
}
|
}
|
||||||
if (s3 !== peg$FAILED) {
|
if (s3 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c87(s2);
|
s1 = peg$c87(s2);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2141,7 +2141,7 @@ module.exports = (function() {
|
||||||
if (peg$silentFails === 0) { peg$fail(peg$c89); }
|
if (peg$silentFails === 0) { peg$fail(peg$c89); }
|
||||||
}
|
}
|
||||||
if (s3 !== peg$FAILED) {
|
if (s3 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c87(s2);
|
s1 = peg$c87(s2);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2201,7 +2201,7 @@ module.exports = (function() {
|
||||||
if (s1 !== peg$FAILED) {
|
if (s1 !== peg$FAILED) {
|
||||||
s2 = peg$parseSourceCharacter();
|
s2 = peg$parseSourceCharacter();
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c90();
|
s1 = peg$c90();
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2224,7 +2224,7 @@ module.exports = (function() {
|
||||||
if (s1 !== peg$FAILED) {
|
if (s1 !== peg$FAILED) {
|
||||||
s2 = peg$parseEscapeSequence();
|
s2 = peg$parseEscapeSequence();
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c75(s2);
|
s1 = peg$c75(s2);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2278,7 +2278,7 @@ module.exports = (function() {
|
||||||
if (s1 !== peg$FAILED) {
|
if (s1 !== peg$FAILED) {
|
||||||
s2 = peg$parseSourceCharacter();
|
s2 = peg$parseSourceCharacter();
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c90();
|
s1 = peg$c90();
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2301,7 +2301,7 @@ module.exports = (function() {
|
||||||
if (s1 !== peg$FAILED) {
|
if (s1 !== peg$FAILED) {
|
||||||
s2 = peg$parseEscapeSequence();
|
s2 = peg$parseEscapeSequence();
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c75(s2);
|
s1 = peg$c75(s2);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2376,7 +2376,7 @@ module.exports = (function() {
|
||||||
s5 = null;
|
s5 = null;
|
||||||
}
|
}
|
||||||
if (s5 !== peg$FAILED) {
|
if (s5 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c98(s2, s3, s5);
|
s1 = peg$c98(s2, s3, s5);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2424,7 +2424,7 @@ module.exports = (function() {
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
s3 = peg$parseClassCharacter();
|
s3 = peg$parseClassCharacter();
|
||||||
if (s3 !== peg$FAILED) {
|
if (s3 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c101(s1, s3);
|
s1 = peg$c101(s1, s3);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2478,7 +2478,7 @@ module.exports = (function() {
|
||||||
if (s1 !== peg$FAILED) {
|
if (s1 !== peg$FAILED) {
|
||||||
s2 = peg$parseSourceCharacter();
|
s2 = peg$parseSourceCharacter();
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c90();
|
s1 = peg$c90();
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2501,7 +2501,7 @@ module.exports = (function() {
|
||||||
if (s1 !== peg$FAILED) {
|
if (s1 !== peg$FAILED) {
|
||||||
s2 = peg$parseEscapeSequence();
|
s2 = peg$parseEscapeSequence();
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c75(s2);
|
s1 = peg$c75(s2);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2534,7 +2534,7 @@ module.exports = (function() {
|
||||||
if (s1 !== peg$FAILED) {
|
if (s1 !== peg$FAILED) {
|
||||||
s2 = peg$parseLineTerminatorSequence();
|
s2 = peg$parseLineTerminatorSequence();
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c102();
|
s1 = peg$c102();
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2574,7 +2574,7 @@ module.exports = (function() {
|
||||||
s2 = peg$FAILED;
|
s2 = peg$FAILED;
|
||||||
}
|
}
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c105();
|
s1 = peg$c105();
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2643,7 +2643,7 @@ module.exports = (function() {
|
||||||
if (peg$silentFails === 0) { peg$fail(peg$c107); }
|
if (peg$silentFails === 0) { peg$fail(peg$c107); }
|
||||||
}
|
}
|
||||||
if (s1 !== peg$FAILED) {
|
if (s1 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c108();
|
s1 = peg$c108();
|
||||||
}
|
}
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
|
@ -2657,7 +2657,7 @@ module.exports = (function() {
|
||||||
if (peg$silentFails === 0) { peg$fail(peg$c110); }
|
if (peg$silentFails === 0) { peg$fail(peg$c110); }
|
||||||
}
|
}
|
||||||
if (s1 !== peg$FAILED) {
|
if (s1 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c111();
|
s1 = peg$c111();
|
||||||
}
|
}
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
|
@ -2671,7 +2671,7 @@ module.exports = (function() {
|
||||||
if (peg$silentFails === 0) { peg$fail(peg$c113); }
|
if (peg$silentFails === 0) { peg$fail(peg$c113); }
|
||||||
}
|
}
|
||||||
if (s1 !== peg$FAILED) {
|
if (s1 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c114();
|
s1 = peg$c114();
|
||||||
}
|
}
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
|
@ -2685,7 +2685,7 @@ module.exports = (function() {
|
||||||
if (peg$silentFails === 0) { peg$fail(peg$c116); }
|
if (peg$silentFails === 0) { peg$fail(peg$c116); }
|
||||||
}
|
}
|
||||||
if (s1 !== peg$FAILED) {
|
if (s1 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c117();
|
s1 = peg$c117();
|
||||||
}
|
}
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
|
@ -2699,7 +2699,7 @@ module.exports = (function() {
|
||||||
if (peg$silentFails === 0) { peg$fail(peg$c119); }
|
if (peg$silentFails === 0) { peg$fail(peg$c119); }
|
||||||
}
|
}
|
||||||
if (s1 !== peg$FAILED) {
|
if (s1 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c120();
|
s1 = peg$c120();
|
||||||
}
|
}
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
|
@ -2713,7 +2713,7 @@ module.exports = (function() {
|
||||||
if (peg$silentFails === 0) { peg$fail(peg$c122); }
|
if (peg$silentFails === 0) { peg$fail(peg$c122); }
|
||||||
}
|
}
|
||||||
if (s1 !== peg$FAILED) {
|
if (s1 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c123();
|
s1 = peg$c123();
|
||||||
}
|
}
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
|
@ -2749,7 +2749,7 @@ module.exports = (function() {
|
||||||
if (s1 !== peg$FAILED) {
|
if (s1 !== peg$FAILED) {
|
||||||
s2 = peg$parseSourceCharacter();
|
s2 = peg$parseSourceCharacter();
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c90();
|
s1 = peg$c90();
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2827,7 +2827,7 @@ module.exports = (function() {
|
||||||
s2 = s3;
|
s2 = s3;
|
||||||
}
|
}
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c128(s2);
|
s1 = peg$c128(s2);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2888,7 +2888,7 @@ module.exports = (function() {
|
||||||
s2 = s3;
|
s2 = s3;
|
||||||
}
|
}
|
||||||
if (s2 !== peg$FAILED) {
|
if (s2 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c128(s2);
|
s1 = peg$c128(s2);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -2943,7 +2943,7 @@ module.exports = (function() {
|
||||||
if (peg$silentFails === 0) { peg$fail(peg$c134); }
|
if (peg$silentFails === 0) { peg$fail(peg$c134); }
|
||||||
}
|
}
|
||||||
if (s1 !== peg$FAILED) {
|
if (s1 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c135();
|
s1 = peg$c135();
|
||||||
}
|
}
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
|
@ -2974,7 +2974,7 @@ module.exports = (function() {
|
||||||
if (peg$silentFails === 0) { peg$fail(peg$c140); }
|
if (peg$silentFails === 0) { peg$fail(peg$c140); }
|
||||||
}
|
}
|
||||||
if (s3 !== peg$FAILED) {
|
if (s3 !== peg$FAILED) {
|
||||||
peg$reportedPos = s0;
|
peg$savedPos = s0;
|
||||||
s1 = peg$c141(s2);
|
s1 = peg$c141(s2);
|
||||||
s0 = s1;
|
s0 = s1;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -93,7 +93,7 @@ describe("compiler pass |generateBytecode|", function() {
|
||||||
1, // PUSH_CURR_POS
|
1, // PUSH_CURR_POS
|
||||||
14, 0, 2, 2, 18, 0, 19, 1, // <expression>
|
14, 0, 2, 2, 18, 0, 19, 1, // <expression>
|
||||||
11, 6, 0, // IF_NOT_ERROR
|
11, 6, 0, // IF_NOT_ERROR
|
||||||
20, 1, // * REPORT_SAVED_POS
|
20, 1, // * LOAD_SAVED_POS
|
||||||
22, 2, 1, 0, // CALL
|
22, 2, 1, 0, // CALL
|
||||||
5 // NIP
|
5 // NIP
|
||||||
]));
|
]));
|
||||||
|
@ -116,7 +116,7 @@ describe("compiler pass |generateBytecode|", function() {
|
||||||
1, // PUSH_CURR_POS
|
1, // PUSH_CURR_POS
|
||||||
14, 0, 2, 2, 18, 0, 19, 1, // <expression>
|
14, 0, 2, 2, 18, 0, 19, 1, // <expression>
|
||||||
11, 7, 0, // IF_NOT_ERROR
|
11, 7, 0, // IF_NOT_ERROR
|
||||||
20, 1, // * REPORT_SAVED_POS
|
20, 1, // * LOAD_SAVED_POS
|
||||||
22, 2, 1, 1, 0, // CALL
|
22, 2, 1, 1, 0, // CALL
|
||||||
5 // NIP
|
5 // NIP
|
||||||
]));
|
]));
|
||||||
|
@ -143,7 +143,7 @@ describe("compiler pass |generateBytecode|", function() {
|
||||||
11, 25, 4, // IF_NOT_ERROR
|
11, 25, 4, // IF_NOT_ERROR
|
||||||
14, 4, 2, 2, 18, 4, 19, 5, // * <elements[2]>
|
14, 4, 2, 2, 18, 4, 19, 5, // * <elements[2]>
|
||||||
11, 10, 4, // IF_NOT_ERROR
|
11, 10, 4, // IF_NOT_ERROR
|
||||||
20, 3, // * REPORT_SAVED_POS
|
20, 3, // * LOAD_SAVED_POS
|
||||||
22, 6, 3, 3, 2, 1, 0, // CALL
|
22, 6, 3, 3, 2, 1, 0, // CALL
|
||||||
5, // NIP
|
5, // NIP
|
||||||
4, 3, // * POP_N
|
4, 3, // * POP_N
|
||||||
|
@ -359,7 +359,7 @@ describe("compiler pass |generateBytecode|", function() {
|
||||||
|
|
||||||
it("generates correct bytecode", function() {
|
it("generates correct bytecode", function() {
|
||||||
expect(pass).toChangeAST(grammar, bytecodeDetails([
|
expect(pass).toChangeAST(grammar, bytecodeDetails([
|
||||||
21, // REPORT_CURR_POS
|
21, // UPDATE_SAVED_POS
|
||||||
22, 0, 0, 0, // CALL
|
22, 0, 0, 0, // CALL
|
||||||
9, 2, 2, // IF
|
9, 2, 2, // IF
|
||||||
2, // * POP
|
2, // * POP
|
||||||
|
@ -389,7 +389,7 @@ describe("compiler pass |generateBytecode|", function() {
|
||||||
11, 40, 4, // IF_NOT_ERROR
|
11, 40, 4, // IF_NOT_ERROR
|
||||||
14, 4, 2, 2, 18, 4, 19, 5, // * <elements[2]>
|
14, 4, 2, 2, 18, 4, 19, 5, // * <elements[2]>
|
||||||
11, 25, 4, // IF_NOT_ERROR
|
11, 25, 4, // IF_NOT_ERROR
|
||||||
21, // * REPORT_CURR_POS
|
21, // * UPDATE_SAVED_POS
|
||||||
22, 6, 0, 3, 2, 1, 0, // CALL
|
22, 6, 0, 3, 2, 1, 0, // CALL
|
||||||
9, 2, 2, // IF
|
9, 2, 2, // IF
|
||||||
2, // * POP
|
2, // * POP
|
||||||
|
@ -434,7 +434,7 @@ describe("compiler pass |generateBytecode|", function() {
|
||||||
|
|
||||||
it("generates correct bytecode", function() {
|
it("generates correct bytecode", function() {
|
||||||
expect(pass).toChangeAST(grammar, bytecodeDetails([
|
expect(pass).toChangeAST(grammar, bytecodeDetails([
|
||||||
21, // REPORT_CURR_POS
|
21, // UPDATE_SAVED_POS
|
||||||
22, 0, 0, 0, // CALL
|
22, 0, 0, 0, // CALL
|
||||||
9, 2, 2, // IF
|
9, 2, 2, // IF
|
||||||
2, // * POP
|
2, // * POP
|
||||||
|
@ -464,7 +464,7 @@ describe("compiler pass |generateBytecode|", function() {
|
||||||
11, 40, 4, // IF_NOT_ERROR
|
11, 40, 4, // IF_NOT_ERROR
|
||||||
14, 4, 2, 2, 18, 4, 19, 5, // * <elements[2]>
|
14, 4, 2, 2, 18, 4, 19, 5, // * <elements[2]>
|
||||||
11, 25, 4, // IF_NOT_ERROR
|
11, 25, 4, // IF_NOT_ERROR
|
||||||
21, // * REPORT_CURR_POS
|
21, // * UPDATE_SAVED_POS
|
||||||
22, 6, 0, 3, 2, 1, 0, // CALL
|
22, 6, 0, 3, 2, 1, 0, // CALL
|
||||||
9, 2, 2, // IF
|
9, 2, 2, // IF
|
||||||
2, // * POP
|
2, // * POP
|
||||||
|
|
Loading…
Reference in a new issue