allow "^" in mini notation step

This commit is contained in:
Felix Roos 2022-02-12 22:56:03 +01:00
parent 2069b02ba7
commit ffffca8cdc
2 changed files with 128 additions and 117 deletions

View File

@ -177,30 +177,31 @@ function peg$parse(input, options) {
var peg$c5 = "\""; var peg$c5 = "\"";
var peg$c6 = "'"; var peg$c6 = "'";
var peg$c7 = "#"; var peg$c7 = "#";
var peg$c8 = "["; var peg$c8 = "^";
var peg$c9 = "]"; var peg$c9 = "[";
var peg$c10 = "<"; var peg$c10 = "]";
var peg$c11 = ">"; var peg$c11 = "<";
var peg$c12 = "@"; var peg$c12 = ">";
var peg$c13 = "("; var peg$c13 = "@";
var peg$c14 = ")"; var peg$c14 = "(";
var peg$c15 = "/"; var peg$c15 = ")";
var peg$c16 = "*"; var peg$c16 = "/";
var peg$c17 = "%"; var peg$c17 = "*";
var peg$c18 = "struct"; var peg$c18 = "%";
var peg$c19 = "target"; var peg$c19 = "struct";
var peg$c20 = "euclid"; var peg$c20 = "target";
var peg$c21 = "slow"; var peg$c21 = "euclid";
var peg$c22 = "rotL"; var peg$c22 = "slow";
var peg$c23 = "rotR"; var peg$c23 = "rotL";
var peg$c24 = "fast"; var peg$c24 = "rotR";
var peg$c25 = "scale"; var peg$c25 = "fast";
var peg$c26 = "//"; var peg$c26 = "scale";
var peg$c27 = "cat"; var peg$c27 = "//";
var peg$c28 = "$"; var peg$c28 = "cat";
var peg$c29 = "setcps"; var peg$c29 = "$";
var peg$c30 = "setbpm"; var peg$c30 = "setcps";
var peg$c31 = "hush"; var peg$c31 = "setbpm";
var peg$c32 = "hush";
var peg$r0 = /^[1-9]/; var peg$r0 = /^[1-9]/;
var peg$r1 = /^[eE]/; var peg$r1 = /^[eE]/;
@ -224,31 +225,32 @@ function peg$parse(input, options) {
var peg$e12 = peg$literalExpectation("'", false); var peg$e12 = peg$literalExpectation("'", false);
var peg$e13 = peg$classExpectation([["0", "9"], ["a", "z"], ["A", "Z"], "~"], false, false); var peg$e13 = peg$classExpectation([["0", "9"], ["a", "z"], ["A", "Z"], "~"], false, false);
var peg$e14 = peg$literalExpectation("#", false); var peg$e14 = peg$literalExpectation("#", false);
var peg$e15 = peg$literalExpectation("[", false); var peg$e15 = peg$literalExpectation("^", false);
var peg$e16 = peg$literalExpectation("]", false); var peg$e16 = peg$literalExpectation("[", false);
var peg$e17 = peg$literalExpectation("<", false); var peg$e17 = peg$literalExpectation("]", false);
var peg$e18 = peg$literalExpectation(">", false); var peg$e18 = peg$literalExpectation("<", false);
var peg$e19 = peg$literalExpectation("@", false); var peg$e19 = peg$literalExpectation(">", false);
var peg$e20 = peg$literalExpectation("(", false); var peg$e20 = peg$literalExpectation("@", false);
var peg$e21 = peg$literalExpectation(")", false); var peg$e21 = peg$literalExpectation("(", false);
var peg$e22 = peg$literalExpectation("/", false); var peg$e22 = peg$literalExpectation(")", false);
var peg$e23 = peg$literalExpectation("*", false); var peg$e23 = peg$literalExpectation("/", false);
var peg$e24 = peg$literalExpectation("%", false); var peg$e24 = peg$literalExpectation("*", false);
var peg$e25 = peg$literalExpectation("struct", false); var peg$e25 = peg$literalExpectation("%", false);
var peg$e26 = peg$literalExpectation("target", false); var peg$e26 = peg$literalExpectation("struct", false);
var peg$e27 = peg$literalExpectation("euclid", false); var peg$e27 = peg$literalExpectation("target", false);
var peg$e28 = peg$literalExpectation("slow", false); var peg$e28 = peg$literalExpectation("euclid", false);
var peg$e29 = peg$literalExpectation("rotL", false); var peg$e29 = peg$literalExpectation("slow", false);
var peg$e30 = peg$literalExpectation("rotR", false); var peg$e30 = peg$literalExpectation("rotL", false);
var peg$e31 = peg$literalExpectation("fast", false); var peg$e31 = peg$literalExpectation("rotR", false);
var peg$e32 = peg$literalExpectation("scale", false); var peg$e32 = peg$literalExpectation("fast", false);
var peg$e33 = peg$literalExpectation("//", false); var peg$e33 = peg$literalExpectation("scale", false);
var peg$e34 = peg$classExpectation(["\n"], true, false); var peg$e34 = peg$literalExpectation("//", false);
var peg$e35 = peg$literalExpectation("cat", false); var peg$e35 = peg$classExpectation(["\n"], true, false);
var peg$e36 = peg$literalExpectation("$", false); var peg$e36 = peg$literalExpectation("cat", false);
var peg$e37 = peg$literalExpectation("setcps", false); var peg$e37 = peg$literalExpectation("$", false);
var peg$e38 = peg$literalExpectation("setbpm", false); var peg$e38 = peg$literalExpectation("setcps", false);
var peg$e39 = peg$literalExpectation("hush", false); var peg$e39 = peg$literalExpectation("setbpm", false);
var peg$e40 = peg$literalExpectation("hush", false);
var peg$f0 = function() { return parseFloat(text()); }; var peg$f0 = function() { return parseFloat(text()); };
var peg$f1 = function(chars) { return chars.join("") }; var peg$f1 = function(chars) { return chars.join("") };
@ -781,6 +783,15 @@ function peg$parse(input, options) {
s0 = peg$FAILED; s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e1); } if (peg$silentFails === 0) { peg$fail(peg$e1); }
} }
if (s0 === peg$FAILED) {
if (input.charCodeAt(peg$currPos) === 94) {
s0 = peg$c8;
peg$currPos++;
} else {
s0 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e15); }
}
}
} }
} }
} }
@ -821,11 +832,11 @@ function peg$parse(input, options) {
s0 = peg$currPos; s0 = peg$currPos;
s1 = peg$parsews(); s1 = peg$parsews();
if (input.charCodeAt(peg$currPos) === 91) { if (input.charCodeAt(peg$currPos) === 91) {
s2 = peg$c8; s2 = peg$c9;
peg$currPos++; peg$currPos++;
} else { } else {
s2 = peg$FAILED; s2 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e15); } if (peg$silentFails === 0) { peg$fail(peg$e16); }
} }
if (s2 !== peg$FAILED) { if (s2 !== peg$FAILED) {
s3 = peg$parsews(); s3 = peg$parsews();
@ -833,11 +844,11 @@ function peg$parse(input, options) {
if (s4 !== peg$FAILED) { if (s4 !== peg$FAILED) {
s5 = peg$parsews(); s5 = peg$parsews();
if (input.charCodeAt(peg$currPos) === 93) { if (input.charCodeAt(peg$currPos) === 93) {
s6 = peg$c9; s6 = peg$c10;
peg$currPos++; peg$currPos++;
} else { } else {
s6 = peg$FAILED; s6 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e16); } if (peg$silentFails === 0) { peg$fail(peg$e17); }
} }
if (s6 !== peg$FAILED) { if (s6 !== peg$FAILED) {
s7 = peg$parsews(); s7 = peg$parsews();
@ -865,11 +876,11 @@ function peg$parse(input, options) {
s0 = peg$currPos; s0 = peg$currPos;
s1 = peg$parsews(); s1 = peg$parsews();
if (input.charCodeAt(peg$currPos) === 60) { if (input.charCodeAt(peg$currPos) === 60) {
s2 = peg$c10; s2 = peg$c11;
peg$currPos++; peg$currPos++;
} else { } else {
s2 = peg$FAILED; s2 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e17); } if (peg$silentFails === 0) { peg$fail(peg$e18); }
} }
if (s2 !== peg$FAILED) { if (s2 !== peg$FAILED) {
s3 = peg$parsews(); s3 = peg$parsews();
@ -877,11 +888,11 @@ function peg$parse(input, options) {
if (s4 !== peg$FAILED) { if (s4 !== peg$FAILED) {
s5 = peg$parsews(); s5 = peg$parsews();
if (input.charCodeAt(peg$currPos) === 62) { if (input.charCodeAt(peg$currPos) === 62) {
s6 = peg$c11; s6 = peg$c12;
peg$currPos++; peg$currPos++;
} else { } else {
s6 = peg$FAILED; s6 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e18); } if (peg$silentFails === 0) { peg$fail(peg$e19); }
} }
if (s6 !== peg$FAILED) { if (s6 !== peg$FAILED) {
s7 = peg$parsews(); s7 = peg$parsews();
@ -942,11 +953,11 @@ function peg$parse(input, options) {
s0 = peg$currPos; s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 64) { if (input.charCodeAt(peg$currPos) === 64) {
s1 = peg$c12; s1 = peg$c13;
peg$currPos++; peg$currPos++;
} else { } else {
s1 = peg$FAILED; s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e19); } if (peg$silentFails === 0) { peg$fail(peg$e20); }
} }
if (s1 !== peg$FAILED) { if (s1 !== peg$FAILED) {
s2 = peg$parsenumber(); s2 = peg$parsenumber();
@ -970,11 +981,11 @@ function peg$parse(input, options) {
s0 = peg$currPos; s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 40) { if (input.charCodeAt(peg$currPos) === 40) {
s1 = peg$c13; s1 = peg$c14;
peg$currPos++; peg$currPos++;
} else { } else {
s1 = peg$FAILED; s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e20); } if (peg$silentFails === 0) { peg$fail(peg$e21); }
} }
if (s1 !== peg$FAILED) { if (s1 !== peg$FAILED) {
s2 = peg$parsews(); s2 = peg$parsews();
@ -988,11 +999,11 @@ function peg$parse(input, options) {
if (s7 !== peg$FAILED) { if (s7 !== peg$FAILED) {
s8 = peg$parsews(); s8 = peg$parsews();
if (input.charCodeAt(peg$currPos) === 41) { if (input.charCodeAt(peg$currPos) === 41) {
s9 = peg$c14; s9 = peg$c15;
peg$currPos++; peg$currPos++;
} else { } else {
s9 = peg$FAILED; s9 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e21); } if (peg$silentFails === 0) { peg$fail(peg$e22); }
} }
if (s9 !== peg$FAILED) { if (s9 !== peg$FAILED) {
peg$savedPos = s0; peg$savedPos = s0;
@ -1026,11 +1037,11 @@ function peg$parse(input, options) {
s0 = peg$currPos; s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 47) { if (input.charCodeAt(peg$currPos) === 47) {
s1 = peg$c15; s1 = peg$c16;
peg$currPos++; peg$currPos++;
} else { } else {
s1 = peg$FAILED; s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e22); } if (peg$silentFails === 0) { peg$fail(peg$e23); }
} }
if (s1 !== peg$FAILED) { if (s1 !== peg$FAILED) {
s2 = peg$parsenumber(); s2 = peg$parsenumber();
@ -1054,11 +1065,11 @@ function peg$parse(input, options) {
s0 = peg$currPos; s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 42) { if (input.charCodeAt(peg$currPos) === 42) {
s1 = peg$c16; s1 = peg$c17;
peg$currPos++; peg$currPos++;
} else { } else {
s1 = peg$FAILED; s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e23); } if (peg$silentFails === 0) { peg$fail(peg$e24); }
} }
if (s1 !== peg$FAILED) { if (s1 !== peg$FAILED) {
s2 = peg$parsenumber(); s2 = peg$parsenumber();
@ -1082,11 +1093,11 @@ function peg$parse(input, options) {
s0 = peg$currPos; s0 = peg$currPos;
if (input.charCodeAt(peg$currPos) === 37) { if (input.charCodeAt(peg$currPos) === 37) {
s1 = peg$c17; s1 = peg$c18;
peg$currPos++; peg$currPos++;
} else { } else {
s1 = peg$FAILED; s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e24); } if (peg$silentFails === 0) { peg$fail(peg$e25); }
} }
if (s1 !== peg$FAILED) { if (s1 !== peg$FAILED) {
s2 = peg$parsenumber(); s2 = peg$parsenumber();
@ -1260,12 +1271,12 @@ function peg$parse(input, options) {
var s0, s1, s2, s3; var s0, s1, s2, s3;
s0 = peg$currPos; s0 = peg$currPos;
if (input.substr(peg$currPos, 6) === peg$c18) { if (input.substr(peg$currPos, 6) === peg$c19) {
s1 = peg$c18; s1 = peg$c19;
peg$currPos += 6; peg$currPos += 6;
} else { } else {
s1 = peg$FAILED; s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e25); } if (peg$silentFails === 0) { peg$fail(peg$e26); }
} }
if (s1 !== peg$FAILED) { if (s1 !== peg$FAILED) {
s2 = peg$parsews(); s2 = peg$parsews();
@ -1289,12 +1300,12 @@ function peg$parse(input, options) {
var s0, s1, s2, s3, s4, s5; var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos; s0 = peg$currPos;
if (input.substr(peg$currPos, 6) === peg$c19) { if (input.substr(peg$currPos, 6) === peg$c20) {
s1 = peg$c19; s1 = peg$c20;
peg$currPos += 6; peg$currPos += 6;
} else { } else {
s1 = peg$FAILED; s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e26); } if (peg$silentFails === 0) { peg$fail(peg$e27); }
} }
if (s1 !== peg$FAILED) { if (s1 !== peg$FAILED) {
s2 = peg$parsews(); s2 = peg$parsews();
@ -1330,12 +1341,12 @@ function peg$parse(input, options) {
var s0, s1, s2, s3, s4, s5; var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos; s0 = peg$currPos;
if (input.substr(peg$currPos, 6) === peg$c20) { if (input.substr(peg$currPos, 6) === peg$c21) {
s1 = peg$c20; s1 = peg$c21;
peg$currPos += 6; peg$currPos += 6;
} else { } else {
s1 = peg$FAILED; s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e27); } if (peg$silentFails === 0) { peg$fail(peg$e28); }
} }
if (s1 !== peg$FAILED) { if (s1 !== peg$FAILED) {
s2 = peg$parsews(); s2 = peg$parsews();
@ -1366,12 +1377,12 @@ function peg$parse(input, options) {
var s0, s1, s2, s3; var s0, s1, s2, s3;
s0 = peg$currPos; s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c21) { if (input.substr(peg$currPos, 4) === peg$c22) {
s1 = peg$c21; s1 = peg$c22;
peg$currPos += 4; peg$currPos += 4;
} else { } else {
s1 = peg$FAILED; s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e28); } if (peg$silentFails === 0) { peg$fail(peg$e29); }
} }
if (s1 !== peg$FAILED) { if (s1 !== peg$FAILED) {
s2 = peg$parsews(); s2 = peg$parsews();
@ -1395,12 +1406,12 @@ function peg$parse(input, options) {
var s0, s1, s2, s3; var s0, s1, s2, s3;
s0 = peg$currPos; s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c22) { if (input.substr(peg$currPos, 4) === peg$c23) {
s1 = peg$c22; s1 = peg$c23;
peg$currPos += 4; peg$currPos += 4;
} else { } else {
s1 = peg$FAILED; s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e29); } if (peg$silentFails === 0) { peg$fail(peg$e30); }
} }
if (s1 !== peg$FAILED) { if (s1 !== peg$FAILED) {
s2 = peg$parsews(); s2 = peg$parsews();
@ -1424,12 +1435,12 @@ function peg$parse(input, options) {
var s0, s1, s2, s3; var s0, s1, s2, s3;
s0 = peg$currPos; s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c23) { if (input.substr(peg$currPos, 4) === peg$c24) {
s1 = peg$c23; s1 = peg$c24;
peg$currPos += 4; peg$currPos += 4;
} else { } else {
s1 = peg$FAILED; s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e30); } if (peg$silentFails === 0) { peg$fail(peg$e31); }
} }
if (s1 !== peg$FAILED) { if (s1 !== peg$FAILED) {
s2 = peg$parsews(); s2 = peg$parsews();
@ -1453,12 +1464,12 @@ function peg$parse(input, options) {
var s0, s1, s2, s3; var s0, s1, s2, s3;
s0 = peg$currPos; s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c24) { if (input.substr(peg$currPos, 4) === peg$c25) {
s1 = peg$c24; s1 = peg$c25;
peg$currPos += 4; peg$currPos += 4;
} else { } else {
s1 = peg$FAILED; s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e31); } if (peg$silentFails === 0) { peg$fail(peg$e32); }
} }
if (s1 !== peg$FAILED) { if (s1 !== peg$FAILED) {
s2 = peg$parsews(); s2 = peg$parsews();
@ -1482,12 +1493,12 @@ function peg$parse(input, options) {
var s0, s1, s2, s3, s4, s5; var s0, s1, s2, s3, s4, s5;
s0 = peg$currPos; s0 = peg$currPos;
if (input.substr(peg$currPos, 5) === peg$c25) { if (input.substr(peg$currPos, 5) === peg$c26) {
s1 = peg$c25; s1 = peg$c26;
peg$currPos += 5; peg$currPos += 5;
} else { } else {
s1 = peg$FAILED; s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e32); } if (peg$silentFails === 0) { peg$fail(peg$e33); }
} }
if (s1 !== peg$FAILED) { if (s1 !== peg$FAILED) {
s2 = peg$parsews(); s2 = peg$parsews();
@ -1532,12 +1543,12 @@ function peg$parse(input, options) {
var s0, s1, s2, s3; var s0, s1, s2, s3;
s0 = peg$currPos; s0 = peg$currPos;
if (input.substr(peg$currPos, 2) === peg$c26) { if (input.substr(peg$currPos, 2) === peg$c27) {
s1 = peg$c26; s1 = peg$c27;
peg$currPos += 2; peg$currPos += 2;
} else { } else {
s1 = peg$FAILED; s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e33); } if (peg$silentFails === 0) { peg$fail(peg$e34); }
} }
if (s1 !== peg$FAILED) { if (s1 !== peg$FAILED) {
s2 = []; s2 = [];
@ -1546,7 +1557,7 @@ function peg$parse(input, options) {
peg$currPos++; peg$currPos++;
} else { } else {
s3 = peg$FAILED; s3 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e34); } if (peg$silentFails === 0) { peg$fail(peg$e35); }
} }
while (s3 !== peg$FAILED) { while (s3 !== peg$FAILED) {
s2.push(s3); s2.push(s3);
@ -1555,7 +1566,7 @@ function peg$parse(input, options) {
peg$currPos++; peg$currPos++;
} else { } else {
s3 = peg$FAILED; s3 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e34); } if (peg$silentFails === 0) { peg$fail(peg$e35); }
} }
} }
s1 = [s1, s2]; s1 = [s1, s2];
@ -1572,21 +1583,21 @@ function peg$parse(input, options) {
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
s0 = peg$currPos; s0 = peg$currPos;
if (input.substr(peg$currPos, 3) === peg$c27) { if (input.substr(peg$currPos, 3) === peg$c28) {
s1 = peg$c27; s1 = peg$c28;
peg$currPos += 3; peg$currPos += 3;
} else { } else {
s1 = peg$FAILED; s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e35); } if (peg$silentFails === 0) { peg$fail(peg$e36); }
} }
if (s1 !== peg$FAILED) { if (s1 !== peg$FAILED) {
s2 = peg$parsews(); s2 = peg$parsews();
if (input.charCodeAt(peg$currPos) === 91) { if (input.charCodeAt(peg$currPos) === 91) {
s3 = peg$c8; s3 = peg$c9;
peg$currPos++; peg$currPos++;
} else { } else {
s3 = peg$FAILED; s3 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e15); } if (peg$silentFails === 0) { peg$fail(peg$e16); }
} }
if (s3 !== peg$FAILED) { if (s3 !== peg$FAILED) {
s4 = peg$parsews(); s4 = peg$parsews();
@ -1628,11 +1639,11 @@ function peg$parse(input, options) {
} }
s7 = peg$parsews(); s7 = peg$parsews();
if (input.charCodeAt(peg$currPos) === 93) { if (input.charCodeAt(peg$currPos) === 93) {
s8 = peg$c9; s8 = peg$c10;
peg$currPos++; peg$currPos++;
} else { } else {
s8 = peg$FAILED; s8 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e16); } if (peg$silentFails === 0) { peg$fail(peg$e17); }
} }
if (s8 !== peg$FAILED) { if (s8 !== peg$FAILED) {
peg$savedPos = s0; peg$savedPos = s0;
@ -1693,11 +1704,11 @@ function peg$parse(input, options) {
if (s1 !== peg$FAILED) { if (s1 !== peg$FAILED) {
s2 = peg$parsews(); s2 = peg$parsews();
if (input.charCodeAt(peg$currPos) === 36) { if (input.charCodeAt(peg$currPos) === 36) {
s3 = peg$c28; s3 = peg$c29;
peg$currPos++; peg$currPos++;
} else { } else {
s3 = peg$FAILED; s3 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e36); } if (peg$silentFails === 0) { peg$fail(peg$e37); }
} }
if (s3 !== peg$FAILED) { if (s3 !== peg$FAILED) {
s4 = peg$parsews(); s4 = peg$parsews();
@ -1775,12 +1786,12 @@ function peg$parse(input, options) {
var s0, s1, s2, s3; var s0, s1, s2, s3;
s0 = peg$currPos; s0 = peg$currPos;
if (input.substr(peg$currPos, 6) === peg$c29) { if (input.substr(peg$currPos, 6) === peg$c30) {
s1 = peg$c29; s1 = peg$c30;
peg$currPos += 6; peg$currPos += 6;
} else { } else {
s1 = peg$FAILED; s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e37); } if (peg$silentFails === 0) { peg$fail(peg$e38); }
} }
if (s1 !== peg$FAILED) { if (s1 !== peg$FAILED) {
s2 = peg$parsews(); s2 = peg$parsews();
@ -1804,12 +1815,12 @@ function peg$parse(input, options) {
var s0, s1, s2, s3; var s0, s1, s2, s3;
s0 = peg$currPos; s0 = peg$currPos;
if (input.substr(peg$currPos, 6) === peg$c30) { if (input.substr(peg$currPos, 6) === peg$c31) {
s1 = peg$c30; s1 = peg$c31;
peg$currPos += 6; peg$currPos += 6;
} else { } else {
s1 = peg$FAILED; s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e38); } if (peg$silentFails === 0) { peg$fail(peg$e39); }
} }
if (s1 !== peg$FAILED) { if (s1 !== peg$FAILED) {
s2 = peg$parsews(); s2 = peg$parsews();
@ -1833,12 +1844,12 @@ function peg$parse(input, options) {
var s0, s1; var s0, s1;
s0 = peg$currPos; s0 = peg$currPos;
if (input.substr(peg$currPos, 4) === peg$c31) { if (input.substr(peg$currPos, 4) === peg$c32) {
s1 = peg$c31; s1 = peg$c32;
peg$currPos += 4; peg$currPos += 4;
} else { } else {
s1 = peg$FAILED; s1 = peg$FAILED;
if (peg$silentFails === 0) { peg$fail(peg$e39); } if (peg$silentFails === 0) { peg$fail(peg$e40); }
} }
if (s1 !== peg$FAILED) { if (s1 !== peg$FAILED) {
peg$savedPos = s0; peg$savedPos = s0;

View File

@ -80,7 +80,7 @@ quote = '"' / "'"
// ------------------ steps and cycles --------------------------- // ------------------ steps and cycles ---------------------------
// single step definition (e.g bd) // single step definition (e.g bd)
step_char = [0-9a-zA-Z~] / "-" / "#" / "." step_char = [0-9a-zA-Z~] / "-" / "#" / "." / "^"
step = ws chars:step_char+ ws { return chars.join("") } step = ws chars:step_char+ ws { return chars.join("") }
// define a sub cycle e.g. [1 2, 3 [4]] // define a sub cycle e.g. [1 2, 3 [4]]