@knowvah/dot-engine 2.6.5 → 2.6.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/htmltable-lex-chardata.d.ts +37 -0
- package/dist/common/htmltable-lex-chardata.d.ts.map +1 -0
- package/dist/common/htmltable-lex-expat.d.ts +11 -9
- package/dist/common/htmltable-lex-expat.d.ts.map +1 -1
- package/dist/common/htmltable-lex.d.ts.map +1 -1
- package/dist/common/htmltable-parse.d.ts.map +1 -1
- package/dist/common/htmltable-types.d.ts +2 -0
- package/dist/common/htmltable-types.d.ts.map +1 -1
- package/dist/index.js +311 -200
- package/dist/index.js.map +4 -4
- package/dist/parser/ast.d.ts +2 -0
- package/dist/parser/ast.d.ts.map +1 -1
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/render.js +311 -200
- package/dist/render.js.map +4 -4
- package/package.json +1 -1
- package/src/common/htmltable-lex-chardata.ts +95 -0
- package/src/common/htmltable-lex-expat.ts +84 -21
- package/src/common/htmltable-lex.ts +33 -27
- package/src/common/htmltable-parse.ts +30 -32
- package/src/common/htmltable-types.ts +2 -0
- package/src/parser/ast.ts +2 -0
- package/src/parser/dot.js +168 -137
- package/src/parser/dot.pegjs +13 -3
- package/src/parser/index.ts +5 -2
package/dist/render.js
CHANGED
|
@@ -5982,13 +5982,14 @@ function skipSpace(text, i) {
|
|
|
5982
5982
|
return j;
|
|
5983
5983
|
}
|
|
5984
5984
|
var byteLength = (s) => new TextEncoder().encode(s).length;
|
|
5985
|
-
function
|
|
5986
|
-
|
|
5987
|
-
let text = unit.replace(/&([^;&<]*);/g, (m, name) => {
|
|
5985
|
+
function fedText(piece, endsUnit) {
|
|
5986
|
+
const text = piece.replace(/&([^;&<]*);/g, (m, name) => {
|
|
5988
5987
|
return name.length >= 2 && Object.hasOwn(HTML_ENTITIES, name) ? `&#${HTML_ENTITIES[name]};` : m;
|
|
5989
5988
|
});
|
|
5990
|
-
|
|
5991
|
-
|
|
5989
|
+
return endsUnit && text.endsWith("]") ? `${text.slice(0, -1)}]` : text;
|
|
5990
|
+
}
|
|
5991
|
+
function fedBytes(unit, isText) {
|
|
5992
|
+
return byteLength(isText ? fedText(unit, true) : unit);
|
|
5992
5993
|
}
|
|
5993
5994
|
function scanValue(text, j) {
|
|
5994
5995
|
const q = text[j];
|
|
@@ -6090,26 +6091,45 @@ function scanMarkup(text, p) {
|
|
|
6090
6091
|
if (c === "!") return { scan: scanDeclaration(text, p), kind: "tag" };
|
|
6091
6092
|
return { scan: scanStartTag(text, p), kind: "tag" };
|
|
6092
6093
|
}
|
|
6093
|
-
|
|
6094
|
+
var CDATA_OPEN = "<![CDATA[";
|
|
6095
|
+
var CDATA_CLOSE = "]]>";
|
|
6096
|
+
function scanCdata(text, p, base, dataOf, tokens) {
|
|
6097
|
+
const close = text.indexOf(CDATA_CLOSE, p);
|
|
6098
|
+
const end = close < 0 ? text.length : close;
|
|
6099
|
+
if (end > p) tokens.push({ kind: "cdata", start: base + p, end: base + end, data: dataOf(base + p, base + end) });
|
|
6100
|
+
return close < 0 ? -1 : close + CDATA_CLOSE.length;
|
|
6101
|
+
}
|
|
6102
|
+
function scanText(text, p, base, tokens) {
|
|
6103
|
+
const e = text.indexOf("<", p);
|
|
6104
|
+
const end = e < 0 ? text.length : e;
|
|
6105
|
+
tokens.push({ kind: "text", start: base + p, end: base + end });
|
|
6106
|
+
return end;
|
|
6107
|
+
}
|
|
6108
|
+
function scanContent(text, base, inCdata, dataOf) {
|
|
6094
6109
|
const tokens = [];
|
|
6095
6110
|
let p = 0;
|
|
6111
|
+
let inSection = inCdata;
|
|
6096
6112
|
while (p < text.length) {
|
|
6113
|
+
if (inSection || text.startsWith(CDATA_OPEN, p)) {
|
|
6114
|
+
const after2 = scanCdata(text, inSection ? p : p + CDATA_OPEN.length, base, dataOf, tokens);
|
|
6115
|
+
if (after2 < 0) return { tokens, consumed: text.length, inCdata: true };
|
|
6116
|
+
inSection = false;
|
|
6117
|
+
p = after2;
|
|
6118
|
+
continue;
|
|
6119
|
+
}
|
|
6097
6120
|
if (text[p] !== "<") {
|
|
6098
|
-
|
|
6099
|
-
const end = e < 0 ? text.length : e;
|
|
6100
|
-
tokens.push({ kind: "text", start: base + p, end: base + end });
|
|
6101
|
-
p = end;
|
|
6121
|
+
p = scanText(text, p, base, tokens);
|
|
6102
6122
|
continue;
|
|
6103
6123
|
}
|
|
6104
6124
|
const { scan, kind } = scanMarkup(text, p);
|
|
6105
|
-
if (scan.kind === "invalid") return { tokens, consumed: p, invalid: base + scan.offset };
|
|
6106
|
-
if (scan.kind === "partial") return { tokens, consumed: p };
|
|
6125
|
+
if (scan.kind === "invalid") return { tokens, consumed: p, invalid: base + scan.offset, inCdata: false };
|
|
6126
|
+
if (scan.kind === "partial") return { tokens, consumed: p, inCdata: false };
|
|
6107
6127
|
const tok = { kind, start: base + p, end: base + scan.end };
|
|
6108
6128
|
if (scan.dup !== void 0) tok.dup = base + scan.dup;
|
|
6109
6129
|
tokens.push(tok);
|
|
6110
6130
|
p = scan.end;
|
|
6111
6131
|
}
|
|
6112
|
-
return { tokens, consumed: p };
|
|
6132
|
+
return { tokens, consumed: p, inCdata: inSection };
|
|
6113
6133
|
}
|
|
6114
6134
|
var InputBuffer = class {
|
|
6115
6135
|
size = 0;
|
|
@@ -6160,24 +6180,42 @@ var ExpatFeed = class {
|
|
|
6160
6180
|
buffer = new InputBuffer();
|
|
6161
6181
|
heldStart = 0;
|
|
6162
6182
|
fedEnd = 0;
|
|
6183
|
+
inCdata = false;
|
|
6184
|
+
/** Source ranges of the text units fed so far: their bytes went through findNext's rewrite. */
|
|
6185
|
+
textUnits = [];
|
|
6163
6186
|
/** Start of the token expat still holds, or undefined when it holds nothing. */
|
|
6164
6187
|
get held() {
|
|
6165
6188
|
return this.heldStart < this.fedEnd ? this.heldStart : void 0;
|
|
6166
6189
|
}
|
|
6167
|
-
/** One `XML_Parse(parser, src[start, end), nbytes, 0)
|
|
6168
|
-
feed(start, end,
|
|
6169
|
-
this.
|
|
6190
|
+
/** One `XML_Parse(parser, src[start, end), nbytes, 0)`; `isText` for a text unit. */
|
|
6191
|
+
feed(start, end, isText) {
|
|
6192
|
+
if (isText) this.textUnits.push([start, end]);
|
|
6193
|
+
this.buffer.append(fedBytes(this.src.slice(start, end), isText));
|
|
6170
6194
|
this.fedEnd = end;
|
|
6171
6195
|
if (!this.buffer.enough) return { tokens: [] };
|
|
6172
6196
|
const text = this.src.slice(this.heldStart, end);
|
|
6173
|
-
const scan = scanContent(text, this.heldStart);
|
|
6197
|
+
const scan = scanContent(text, this.heldStart, this.inCdata, (a, b) => this.fedBetween(a, b));
|
|
6174
6198
|
if (scan.invalid !== void 0) {
|
|
6175
6199
|
return { tokens: scan.tokens, invalid: { message: XML_ERROR_INVALID_TOKEN, offset: scan.invalid } };
|
|
6176
6200
|
}
|
|
6201
|
+
this.inCdata = scan.inCdata;
|
|
6177
6202
|
this.heldStart += scan.consumed;
|
|
6178
6203
|
this.buffer.consumedTo(byteLength(this.src.slice(this.heldStart, end)), scan.consumed > 0);
|
|
6179
6204
|
return { tokens: scan.tokens };
|
|
6180
6205
|
}
|
|
6206
|
+
/** What expat read for source offsets [start, end): text-unit pieces as findNext rewrote them. */
|
|
6207
|
+
fedBetween(start, end) {
|
|
6208
|
+
let out = "";
|
|
6209
|
+
let p = start;
|
|
6210
|
+
for (const [us, ue] of this.textUnits) {
|
|
6211
|
+
if (ue <= p || us >= end) continue;
|
|
6212
|
+
if (us > p) out += this.src.slice(p, us);
|
|
6213
|
+
const e = Math.min(ue, end);
|
|
6214
|
+
out += fedText(this.src.slice(Math.max(us, p), e), e === ue);
|
|
6215
|
+
p = e;
|
|
6216
|
+
}
|
|
6217
|
+
return out + this.src.slice(p, end);
|
|
6218
|
+
}
|
|
6181
6219
|
};
|
|
6182
6220
|
var XML_PREDEFINED_ENTITIES = /* @__PURE__ */ new Set(["lt", "gt", "amp", "quot", "apos"]);
|
|
6183
6221
|
var ENTITY_NAME = /^[A-Za-z_:][\w.:-]*$/;
|
|
@@ -6202,6 +6240,46 @@ function parseTagChunk(chunk) {
|
|
|
6202
6240
|
return { close, selfClose: !close && body.endsWith("/"), name };
|
|
6203
6241
|
}
|
|
6204
6242
|
|
|
6243
|
+
// src/common/htmltable-lex-chardata.ts
|
|
6244
|
+
var initialCharData = () => ({ inCell: true, xb: "" });
|
|
6245
|
+
function startInCell(name, inCell) {
|
|
6246
|
+
if (name === "TABLE" || name === "TR" || name === "TH") return false;
|
|
6247
|
+
return name === "TD" ? true : inCell;
|
|
6248
|
+
}
|
|
6249
|
+
function endInCell(name, inCell) {
|
|
6250
|
+
if (name === "TABLE") return true;
|
|
6251
|
+
return name === "TD" ? false : inCell;
|
|
6252
|
+
}
|
|
6253
|
+
function tagInCell(st, tag) {
|
|
6254
|
+
const name = tag.name.toUpperCase();
|
|
6255
|
+
if (tag.close) {
|
|
6256
|
+
st.inCell = endInCell(name, st.inCell);
|
|
6257
|
+
return;
|
|
6258
|
+
}
|
|
6259
|
+
st.inCell = startInCell(name, st.inCell);
|
|
6260
|
+
if (tag.selfClose) st.inCell = endInCell(name, st.inCell);
|
|
6261
|
+
}
|
|
6262
|
+
function keepLostText(st, lost) {
|
|
6263
|
+
for (const t of lost) if (t.type === "text") st.xb += t.value;
|
|
6264
|
+
}
|
|
6265
|
+
function releaseXb(st, first) {
|
|
6266
|
+
if (st.xb === "") return;
|
|
6267
|
+
if (first.type === "text") first.value = st.xb + first.value;
|
|
6268
|
+
else if (first.type === "open" && first.tag === "TABLE") first.heldText = st.xb;
|
|
6269
|
+
else return;
|
|
6270
|
+
st.xb = "";
|
|
6271
|
+
}
|
|
6272
|
+
function cleanText(decoded) {
|
|
6273
|
+
return decoded.replace(/[\x00-\x1f]/g, "");
|
|
6274
|
+
}
|
|
6275
|
+
function textTokens(raw) {
|
|
6276
|
+
return charDataTokens(htmlEntityUTF8(raw));
|
|
6277
|
+
}
|
|
6278
|
+
function charDataTokens(decoded) {
|
|
6279
|
+
const clean = cleanText(decoded);
|
|
6280
|
+
return clean.length > 0 ? [{ type: "text", value: clean }] : [];
|
|
6281
|
+
}
|
|
6282
|
+
|
|
6205
6283
|
// src/common/htmltable-lex-units.ts
|
|
6206
6284
|
var UNCLOSED_COMMENT = "Warning: Unclosed comment\n";
|
|
6207
6285
|
var LABEL_CLOSED = "Warning: Label closed before end of HTML element\n";
|
|
@@ -6306,20 +6384,17 @@ function parseCloseToken(inner) {
|
|
|
6306
6384
|
checkTag(tag);
|
|
6307
6385
|
return { type: "close", tag: normalizeTag(tag) };
|
|
6308
6386
|
}
|
|
6309
|
-
|
|
6310
|
-
const isKeep = (c) => c === " " || c === " " || c === "\n" || c === "\r";
|
|
6311
|
-
return raw.replace(/[\x00-\x1f\x7f]/g, (c) => isKeep(c) ? c : "");
|
|
6312
|
-
}
|
|
6313
|
-
function textTokens(raw) {
|
|
6314
|
-
const clean = htmlEntityUTF8(cleanText(raw));
|
|
6315
|
-
return clean.length > 0 ? [{ type: "text", value: clean }] : [];
|
|
6316
|
-
}
|
|
6387
|
+
var EMPTY_ELEMENTS = /* @__PURE__ */ new Set(["BR", "HR", "VR", "IMG"]);
|
|
6317
6388
|
function tagTokens(text) {
|
|
6318
6389
|
const inner = text.slice(1, -1).trim();
|
|
6319
6390
|
if (inner.startsWith("/")) return [parseCloseToken(inner)];
|
|
6320
6391
|
if (inner.endsWith("/")) {
|
|
6321
6392
|
const open = parseOpenToken(inner.slice(0, -1).trim());
|
|
6322
|
-
return [open, { type: "close", tag: open.tag }];
|
|
6393
|
+
if (EMPTY_ELEMENTS.has(open.tag)) return [open, { type: "close", tag: open.tag }];
|
|
6394
|
+
const close = { type: "close", tag: open.tag };
|
|
6395
|
+
if (open.warnings !== void 0) close.warnings = open.warnings;
|
|
6396
|
+
if (open.warn === true) close.warn = true;
|
|
6397
|
+
return [close];
|
|
6323
6398
|
}
|
|
6324
6399
|
return [parseOpenToken(inner)];
|
|
6325
6400
|
}
|
|
@@ -6392,6 +6467,7 @@ function eventTokens(site) {
|
|
|
6392
6467
|
const { src, tok, st } = site;
|
|
6393
6468
|
const text = src.slice(tok.start, tok.end);
|
|
6394
6469
|
if (tok.kind === "comment" || tok.kind === "pi") return [];
|
|
6470
|
+
if (tok.kind === "cdata") return charDataTokens(tok.data ?? "");
|
|
6395
6471
|
if (tok.kind === "tag") {
|
|
6396
6472
|
checkTagToken(site);
|
|
6397
6473
|
return tagTokens(text);
|
|
@@ -6417,7 +6493,13 @@ function absorb(carry, lost) {
|
|
|
6417
6493
|
function eventGroups(run, res) {
|
|
6418
6494
|
const groups = [];
|
|
6419
6495
|
for (const tok of res.tokens) {
|
|
6420
|
-
|
|
6496
|
+
let tokens = eventTokens({ src: run.src, tok, st: run.st });
|
|
6497
|
+
if (tok.kind === "tag") {
|
|
6498
|
+
const tag = parseTagChunk(run.src.slice(tok.start, tok.end));
|
|
6499
|
+
if (tag !== void 0) tagInCell(run.cd, tag);
|
|
6500
|
+
} else if (!run.cd.inCell) {
|
|
6501
|
+
tokens = [];
|
|
6502
|
+
}
|
|
6421
6503
|
if (tokens.length > 0) groups.push({ tokens, tok });
|
|
6422
6504
|
}
|
|
6423
6505
|
if (res.invalid !== void 0) {
|
|
@@ -6428,6 +6510,7 @@ function eventGroups(run, res) {
|
|
|
6428
6510
|
}
|
|
6429
6511
|
function deliver(run, last) {
|
|
6430
6512
|
const first = last.tokens[0];
|
|
6513
|
+
releaseXb(run.cd, first);
|
|
6431
6514
|
attachCarry(run.carry, first);
|
|
6432
6515
|
const info = { src: run.src, pos: last.tok.start, end: last.tok.end, context: run.st.prev + run.st.curr };
|
|
6433
6516
|
const prev = run.tokens.at(-1);
|
|
@@ -6442,7 +6525,10 @@ function deliver(run, last) {
|
|
|
6442
6525
|
function runEvents(run, res) {
|
|
6443
6526
|
const groups = eventGroups(run, res);
|
|
6444
6527
|
const last = groups.pop();
|
|
6445
|
-
for (const g of groups)
|
|
6528
|
+
for (const g of groups) {
|
|
6529
|
+
absorb(run.carry, g.tokens);
|
|
6530
|
+
keepLostText(run.cd, g.tokens);
|
|
6531
|
+
}
|
|
6446
6532
|
if (last !== void 0) deliver(run, last);
|
|
6447
6533
|
}
|
|
6448
6534
|
function appendString(into, more) {
|
|
@@ -6473,7 +6559,8 @@ function tokenizeDeferred(src, label = { start: 0, end: src.length }) {
|
|
|
6473
6559
|
tokens: [],
|
|
6474
6560
|
st: { stack: [], prev: "", curr: "" },
|
|
6475
6561
|
expat: new ExpatFeed(src),
|
|
6476
|
-
carry: { warnings: [], warn: false }
|
|
6562
|
+
carry: { warnings: [], warn: false },
|
|
6563
|
+
cd: initialCharData()
|
|
6477
6564
|
};
|
|
6478
6565
|
let error;
|
|
6479
6566
|
try {
|
|
@@ -6482,8 +6569,7 @@ function tokenizeDeferred(src, label = { start: 0, end: src.length }) {
|
|
|
6482
6569
|
run.st.curr = src.slice(u.start, u.end);
|
|
6483
6570
|
run.carry.warnings.push(...u.warnings);
|
|
6484
6571
|
if (u.warn) run.carry.warn = true;
|
|
6485
|
-
|
|
6486
|
-
runEvents(run, run.expat.feed(u.start, u.end, nbytes));
|
|
6572
|
+
runEvents(run, run.expat.feed(u.start, u.end, !run.st.curr.startsWith("<")));
|
|
6487
6573
|
}
|
|
6488
6574
|
const held = run.expat.held;
|
|
6489
6575
|
if (held !== void 0) error = unfinishedError(run, held);
|
|
@@ -6648,7 +6734,8 @@ var tableFont = (fontStack) => {
|
|
|
6648
6734
|
var MSG_SYNTAX_ERROR = "syntax error";
|
|
6649
6735
|
var MSG_TEXT_BEFORE_TABLE = "Syntax error: non-space string used before <TABLE>";
|
|
6650
6736
|
var MSG_TEXT_AFTER_TABLE = "Syntax error: non-space string used after </TABLE>";
|
|
6651
|
-
var nonSpace = (text) => /[^
|
|
6737
|
+
var nonSpace = (text) => /[^ ]/.test(text);
|
|
6738
|
+
var heldNonSpace = (tbl) => tbl?.type === "open" && nonSpace(tbl.heldText ?? "");
|
|
6652
6739
|
var parseError = (s, tok, message) => {
|
|
6653
6740
|
if (tok !== void 0) emitWarnings(s, tok);
|
|
6654
6741
|
else emitEof(s);
|
|
@@ -6669,41 +6756,29 @@ var applyBrTag = (s, t, fontStack, items) => {
|
|
|
6669
6756
|
items.push({ br: true, brAlign: parseAlign(t.attrs["align"] ?? ""), ...fontItemProps(font) });
|
|
6670
6757
|
consumeClose(s, "BR");
|
|
6671
6758
|
};
|
|
6672
|
-
var
|
|
6673
|
-
consume(s);
|
|
6674
|
-
const font = fontStack[fontStack.length - 1] ?? {};
|
|
6675
|
-
fontStack.push(mergeFontState(font, {
|
|
6676
|
-
fontColor: t.attrs["color"],
|
|
6677
|
-
fontFace: t.attrs["face"],
|
|
6678
|
-
fontSize: num(t.attrs["point-size"])
|
|
6679
|
-
}));
|
|
6759
|
+
var parseStyledText = (s, tag, fontStack, items) => {
|
|
6680
6760
|
const inner = parseText(s, fontStack);
|
|
6681
6761
|
fontStack.pop();
|
|
6682
|
-
items.push(...inner.items);
|
|
6683
6762
|
const nxt = peek(s);
|
|
6684
|
-
if (nxt?.type
|
|
6763
|
+
if (inner.items.length === 0 || nxt?.type !== "close" || nxt.tag !== tag) {
|
|
6764
|
+
throw parseError(s, nxt, MSG_SYNTAX_ERROR);
|
|
6765
|
+
}
|
|
6766
|
+
items.push(...inner.items);
|
|
6767
|
+
consume(s);
|
|
6685
6768
|
};
|
|
6686
|
-
var
|
|
6769
|
+
var applyStyleTag = (s, t, fontStack, items) => {
|
|
6687
6770
|
consume(s);
|
|
6688
|
-
const
|
|
6689
|
-
fontStack.push(mergeFontState(
|
|
6690
|
-
|
|
6691
|
-
fontStack.pop();
|
|
6692
|
-
items.push(...inner.items);
|
|
6693
|
-
const nxt = peek(s);
|
|
6694
|
-
if (nxt?.type === "close" && nxt.tag === t.tag) consume(s);
|
|
6771
|
+
const own = t.tag === "FONT" ? { fontColor: t.attrs["color"], fontFace: t.attrs["face"], fontSize: num(t.attrs["point-size"]) } : inlineFontState(t.tag, t.attrs);
|
|
6772
|
+
fontStack.push(mergeFontState(fontStack[fontStack.length - 1] ?? {}, own));
|
|
6773
|
+
parseStyledText(s, t.tag, fontStack, items);
|
|
6695
6774
|
};
|
|
6696
6775
|
var applyOpenTag = (s, t, fontStack, items) => {
|
|
6697
6776
|
if (t.tag === "BR") {
|
|
6698
6777
|
applyBrTag(s, t, fontStack, items);
|
|
6699
6778
|
return true;
|
|
6700
6779
|
}
|
|
6701
|
-
if (t.tag === "FONT") {
|
|
6702
|
-
|
|
6703
|
-
return true;
|
|
6704
|
-
}
|
|
6705
|
-
if (isInlineTag(t.tag)) {
|
|
6706
|
-
applyInlineTag(s, t, fontStack, items);
|
|
6780
|
+
if (t.tag === "FONT" || isInlineTag(t.tag)) {
|
|
6781
|
+
applyStyleTag(s, t, fontStack, items);
|
|
6707
6782
|
return true;
|
|
6708
6783
|
}
|
|
6709
6784
|
return false;
|
|
@@ -6746,7 +6821,7 @@ var parseFontTable = (s, open, fontStack) => {
|
|
|
6746
6821
|
fontStack.push(wrapperFont(open, fontStack));
|
|
6747
6822
|
const textBefore = skipStrings(s);
|
|
6748
6823
|
const tblTok = peek(s);
|
|
6749
|
-
if (textBefore && tblTok !== void 0) throw parseError(s, tblTok, MSG_TEXT_BEFORE_TABLE);
|
|
6824
|
+
if ((textBefore || heldNonSpace(tblTok)) && tblTok !== void 0) throw parseError(s, tblTok, MSG_TEXT_BEFORE_TABLE);
|
|
6750
6825
|
const table = parseTable(s, fontStack);
|
|
6751
6826
|
const textAfter = skipStrings(s);
|
|
6752
6827
|
const close = peek(s);
|
|
@@ -6775,7 +6850,7 @@ var parseImgContent = (s, t, cellAttrs) => {
|
|
|
6775
6850
|
};
|
|
6776
6851
|
var scanCellTable = (s, t, fontStack, st) => {
|
|
6777
6852
|
if (st.kind === "image" || st.kind === "table") throw parseError(s, t, MSG_SYNTAX_ERROR);
|
|
6778
|
-
if (st.textNonSpace) throw parseError(s, t, MSG_TEXT_BEFORE_TABLE);
|
|
6853
|
+
if (st.textNonSpace || heldNonSpace(t)) throw parseError(s, t, MSG_TEXT_BEFORE_TABLE);
|
|
6779
6854
|
const tbl = parseTable(s, fontStack);
|
|
6780
6855
|
st.kind = "table";
|
|
6781
6856
|
return [tbl];
|
|
@@ -6930,14 +7005,14 @@ var consumeRowHr = (s, rows) => {
|
|
|
6930
7005
|
var findFirstRealToken = (tokens, start) => {
|
|
6931
7006
|
for (let i = start; i < tokens.length; i++) {
|
|
6932
7007
|
const tk = tokens[i];
|
|
6933
|
-
if (tk.type !== "text" || tk.value
|
|
7008
|
+
if (tk.type !== "text" || nonSpace(tk.value)) return tk;
|
|
6934
7009
|
}
|
|
6935
7010
|
return void 0;
|
|
6936
7011
|
};
|
|
6937
7012
|
var skipLeadingWs = (s) => {
|
|
6938
7013
|
while (true) {
|
|
6939
7014
|
const nxt = peek(s);
|
|
6940
|
-
if (!nxt || nxt.type !== "text" || nxt.value
|
|
7015
|
+
if (!nxt || nxt.type !== "text" || nonSpace(nxt.value)) break;
|
|
6941
7016
|
consume(s);
|
|
6942
7017
|
}
|
|
6943
7018
|
};
|
|
@@ -6963,6 +7038,7 @@ var parseFontTableLabel = (s, open, fontStack) => {
|
|
|
6963
7038
|
};
|
|
6964
7039
|
var parseTableLabel = (s, fontStack) => {
|
|
6965
7040
|
skipLeadingWs(s);
|
|
7041
|
+
if (heldNonSpace(peek(s))) throw parseError(s, peek(s), MSG_TEXT_BEFORE_TABLE);
|
|
6966
7042
|
const table = parseTable(s, fontStack);
|
|
6967
7043
|
finishTableLabel(s);
|
|
6968
7044
|
return { kind: "table", table };
|
|
@@ -51621,21 +51697,21 @@ function peg$parse(input, options) {
|
|
|
51621
51697
|
const peg$r22 = /^[^\n]/;
|
|
51622
51698
|
const peg$e0 = peg$literalExpectation("{", false);
|
|
51623
51699
|
const peg$e1 = peg$literalExpectation("}", false);
|
|
51624
|
-
const peg$e2 = peg$
|
|
51625
|
-
const peg$e3 = peg$literalExpectation("
|
|
51626
|
-
const peg$e4 = peg$literalExpectation("
|
|
51627
|
-
const peg$e5 = peg$literalExpectation("
|
|
51628
|
-
const peg$e6 = peg$
|
|
51629
|
-
const peg$e7 = peg$
|
|
51630
|
-
const peg$e8 = peg$
|
|
51631
|
-
const peg$e9 = peg$
|
|
51632
|
-
const peg$e10 = peg$literalExpectation("
|
|
51633
|
-
const peg$e11 = peg$literalExpectation("
|
|
51634
|
-
const peg$e12 = peg$literalExpectation(
|
|
51635
|
-
const peg$e13 = peg$literalExpectation('
|
|
51636
|
-
const peg$e14 = peg$literalExpectation("
|
|
51637
|
-
const peg$e15 = peg$literalExpectation("
|
|
51638
|
-
const peg$e16 = peg$
|
|
51700
|
+
const peg$e2 = peg$anyExpectation();
|
|
51701
|
+
const peg$e3 = peg$literalExpectation(";", false);
|
|
51702
|
+
const peg$e4 = peg$literalExpectation("=", false);
|
|
51703
|
+
const peg$e5 = peg$literalExpectation("[", false);
|
|
51704
|
+
const peg$e6 = peg$literalExpectation("]", false);
|
|
51705
|
+
const peg$e7 = peg$classExpectation([";", ","], false, false, false);
|
|
51706
|
+
const peg$e8 = peg$literalExpectation(":", false);
|
|
51707
|
+
const peg$e9 = peg$otherExpectation("edge operator");
|
|
51708
|
+
const peg$e10 = peg$literalExpectation("->", false);
|
|
51709
|
+
const peg$e11 = peg$literalExpectation("--", false);
|
|
51710
|
+
const peg$e12 = peg$literalExpectation("+", false);
|
|
51711
|
+
const peg$e13 = peg$literalExpectation('"', false);
|
|
51712
|
+
const peg$e14 = peg$literalExpectation('\\"', false);
|
|
51713
|
+
const peg$e15 = peg$literalExpectation("\\\n", false);
|
|
51714
|
+
const peg$e16 = peg$literalExpectation("\\", false);
|
|
51639
51715
|
const peg$e17 = peg$classExpectation(['"', "\\"], true, false, false);
|
|
51640
51716
|
const peg$e18 = peg$literalExpectation("<", false);
|
|
51641
51717
|
const peg$e19 = peg$literalExpectation(">", false);
|
|
@@ -51667,86 +51743,90 @@ function peg$parse(input, options) {
|
|
|
51667
51743
|
const peg$e45 = peg$classExpectation(["\n"], true, false, false);
|
|
51668
51744
|
const peg$e46 = peg$literalExpectation("\n", false);
|
|
51669
51745
|
const peg$e47 = peg$literalExpectation("#", false);
|
|
51670
|
-
function peg$f0(s, t, id, stmts) {
|
|
51746
|
+
function peg$f0(s, t, id, stmts, end) {
|
|
51671
51747
|
return {
|
|
51672
51748
|
type: "graph",
|
|
51673
51749
|
strict: s,
|
|
51674
51750
|
directed: t,
|
|
51675
51751
|
id,
|
|
51676
|
-
stmts
|
|
51752
|
+
stmts,
|
|
51753
|
+
end
|
|
51677
51754
|
};
|
|
51678
51755
|
}
|
|
51679
51756
|
function peg$f1() {
|
|
51680
|
-
return { type: "graph", strict: false, directed: false, id: null, stmts: [] };
|
|
51757
|
+
return { type: "graph", strict: false, directed: false, id: null, stmts: [], end: text().length };
|
|
51681
51758
|
}
|
|
51682
51759
|
function peg$f2() {
|
|
51683
|
-
return
|
|
51760
|
+
return offset();
|
|
51684
51761
|
}
|
|
51685
51762
|
function peg$f3() {
|
|
51686
|
-
return
|
|
51763
|
+
return true;
|
|
51687
51764
|
}
|
|
51688
51765
|
function peg$f4() {
|
|
51689
|
-
return
|
|
51766
|
+
return false;
|
|
51690
51767
|
}
|
|
51691
51768
|
function peg$f5() {
|
|
51769
|
+
return true;
|
|
51770
|
+
}
|
|
51771
|
+
function peg$f6() {
|
|
51692
51772
|
return false;
|
|
51693
51773
|
}
|
|
51694
|
-
function peg$
|
|
51774
|
+
function peg$f7(a) {
|
|
51695
51775
|
return a;
|
|
51696
51776
|
}
|
|
51697
|
-
function peg$
|
|
51777
|
+
function peg$f8() {
|
|
51698
51778
|
return null;
|
|
51699
51779
|
}
|
|
51700
|
-
function peg$
|
|
51780
|
+
function peg$f9(s) {
|
|
51701
51781
|
return s;
|
|
51702
51782
|
}
|
|
51703
|
-
function peg$
|
|
51783
|
+
function peg$f10(stmts) {
|
|
51704
51784
|
return stmts;
|
|
51705
51785
|
}
|
|
51706
|
-
function peg$
|
|
51786
|
+
function peg$f11(s) {
|
|
51707
51787
|
return s;
|
|
51708
51788
|
}
|
|
51709
|
-
function peg$
|
|
51789
|
+
function peg$f12(s) {
|
|
51710
51790
|
return s;
|
|
51711
51791
|
}
|
|
51712
|
-
function peg$
|
|
51792
|
+
function peg$f13(t, m, attrs) {
|
|
51713
51793
|
if (m) console.error("Warning: attribute macros not implemented");
|
|
51714
51794
|
return { type: "attr", target: t, attrs };
|
|
51715
51795
|
}
|
|
51716
|
-
function peg$
|
|
51796
|
+
function peg$f14(a) {
|
|
51717
51797
|
return { type: "assign", key: a.key, value: a.value };
|
|
51718
51798
|
}
|
|
51719
|
-
function peg$
|
|
51799
|
+
function peg$f15() {
|
|
51720
51800
|
return true;
|
|
51721
51801
|
}
|
|
51722
|
-
function peg$
|
|
51802
|
+
function peg$f16() {
|
|
51723
51803
|
return false;
|
|
51724
51804
|
}
|
|
51725
|
-
function peg$
|
|
51805
|
+
function peg$f17() {
|
|
51726
51806
|
return "graph";
|
|
51727
51807
|
}
|
|
51728
|
-
function peg$
|
|
51808
|
+
function peg$f18() {
|
|
51729
51809
|
return "node";
|
|
51730
51810
|
}
|
|
51731
|
-
function peg$
|
|
51811
|
+
function peg$f19() {
|
|
51732
51812
|
return "edge";
|
|
51733
51813
|
}
|
|
51734
|
-
function peg$
|
|
51814
|
+
function peg$f20(defs, rest) {
|
|
51735
51815
|
return defs.concat(rest);
|
|
51736
51816
|
}
|
|
51737
|
-
function peg$
|
|
51817
|
+
function peg$f21() {
|
|
51738
51818
|
return [];
|
|
51739
51819
|
}
|
|
51740
|
-
function peg$
|
|
51820
|
+
function peg$f22(a) {
|
|
51741
51821
|
return a;
|
|
51742
51822
|
}
|
|
51743
|
-
function peg$
|
|
51823
|
+
function peg$f23(pairs) {
|
|
51744
51824
|
return pairs;
|
|
51745
51825
|
}
|
|
51746
|
-
function peg$
|
|
51826
|
+
function peg$f24(k, v) {
|
|
51747
51827
|
return { key: k, value: v };
|
|
51748
51828
|
}
|
|
51749
|
-
function peg$
|
|
51829
|
+
function peg$f25(head, chain, attrs) {
|
|
51750
51830
|
if (chain.length > 0) {
|
|
51751
51831
|
const nodes = [head].concat(chain);
|
|
51752
51832
|
return { type: "edge", nodes, attrs };
|
|
@@ -51757,70 +51837,70 @@ function peg$parse(input, options) {
|
|
|
51757
51837
|
return { type: "node", id: head, attrs };
|
|
51758
51838
|
}
|
|
51759
51839
|
}
|
|
51760
|
-
function peg$
|
|
51840
|
+
function peg$f26(s) {
|
|
51761
51841
|
return s;
|
|
51762
51842
|
}
|
|
51763
|
-
function peg$
|
|
51843
|
+
function peg$f27(n) {
|
|
51764
51844
|
return n;
|
|
51765
51845
|
}
|
|
51766
|
-
function peg$
|
|
51846
|
+
function peg$f28(id, port, compass) {
|
|
51767
51847
|
return { id, port, compass };
|
|
51768
51848
|
}
|
|
51769
|
-
function peg$
|
|
51849
|
+
function peg$f29(id, port) {
|
|
51770
51850
|
return { id, port, compass: null };
|
|
51771
51851
|
}
|
|
51772
|
-
function peg$
|
|
51852
|
+
function peg$f30(id) {
|
|
51773
51853
|
return { id, port: null, compass: null };
|
|
51774
51854
|
}
|
|
51775
|
-
function peg$
|
|
51855
|
+
function peg$f31(s, rest) {
|
|
51776
51856
|
return [s].concat(rest);
|
|
51777
51857
|
}
|
|
51778
|
-
function peg$
|
|
51858
|
+
function peg$f32() {
|
|
51779
51859
|
return [];
|
|
51780
51860
|
}
|
|
51781
|
-
function peg$
|
|
51861
|
+
function peg$f33(id, stmts) {
|
|
51782
51862
|
return { type: "subgraph", id, stmts };
|
|
51783
51863
|
}
|
|
51784
|
-
function peg$
|
|
51864
|
+
function peg$f34(stmts) {
|
|
51785
51865
|
return { type: "subgraph", id: null, stmts };
|
|
51786
51866
|
}
|
|
51787
|
-
function peg$
|
|
51867
|
+
function peg$f35(stmts) {
|
|
51788
51868
|
return { type: "subgraph", id: null, stmts };
|
|
51789
51869
|
}
|
|
51790
|
-
function peg$
|
|
51870
|
+
function peg$f36(first, s) {
|
|
51791
51871
|
return s;
|
|
51792
51872
|
}
|
|
51793
|
-
function peg$
|
|
51873
|
+
function peg$f37(first, rest) {
|
|
51794
51874
|
return rest.length > 0 ? first + rest.join("") : first;
|
|
51795
51875
|
}
|
|
51796
|
-
function peg$
|
|
51876
|
+
function peg$f38(chars) {
|
|
51797
51877
|
return chars.join("");
|
|
51798
51878
|
}
|
|
51799
|
-
function peg$
|
|
51879
|
+
function peg$f39() {
|
|
51800
51880
|
return '"';
|
|
51801
51881
|
}
|
|
51802
|
-
function peg$
|
|
51882
|
+
function peg$f40() {
|
|
51803
51883
|
return "";
|
|
51804
51884
|
}
|
|
51805
|
-
function peg$
|
|
51885
|
+
function peg$f41(c) {
|
|
51806
51886
|
return "\\" + c;
|
|
51807
51887
|
}
|
|
51808
|
-
function peg$
|
|
51888
|
+
function peg$f42(content) {
|
|
51809
51889
|
return "" + content;
|
|
51810
51890
|
}
|
|
51811
|
-
function peg$
|
|
51891
|
+
function peg$f43(chars) {
|
|
51812
51892
|
return chars.join("");
|
|
51813
51893
|
}
|
|
51814
|
-
function peg$
|
|
51894
|
+
function peg$f44(nested2, content) {
|
|
51815
51895
|
return "<" + content + ">";
|
|
51816
51896
|
}
|
|
51817
|
-
function peg$
|
|
51897
|
+
function peg$f45(n) {
|
|
51818
51898
|
return n;
|
|
51819
51899
|
}
|
|
51820
|
-
function peg$
|
|
51900
|
+
function peg$f46(first, rest) {
|
|
51821
51901
|
return first + rest.join("");
|
|
51822
51902
|
}
|
|
51823
|
-
function peg$
|
|
51903
|
+
function peg$f47(s) {
|
|
51824
51904
|
return Array.isArray(s) ? s.flat(Infinity).filter((x) => x !== null && x !== void 0).join("") : String(s);
|
|
51825
51905
|
}
|
|
51826
51906
|
let peg$currPos = options.peg$currPos | 0;
|
|
@@ -51996,9 +52076,9 @@ function peg$parse(input, options) {
|
|
|
51996
52076
|
}
|
|
51997
52077
|
}
|
|
51998
52078
|
if (s122 !== peg$FAILED) {
|
|
51999
|
-
s13 = peg$
|
|
52079
|
+
s13 = peg$parseGraphEof();
|
|
52000
52080
|
peg$savedPos = s0;
|
|
52001
|
-
s0 = peg$f0(s2, s4, s6, s10);
|
|
52081
|
+
s0 = peg$f0(s2, s4, s6, s10, s13);
|
|
52002
52082
|
} else {
|
|
52003
52083
|
peg$currPos = s0;
|
|
52004
52084
|
s0 = peg$FAILED;
|
|
@@ -52028,6 +52108,36 @@ function peg$parse(input, options) {
|
|
|
52028
52108
|
}
|
|
52029
52109
|
return s0;
|
|
52030
52110
|
}
|
|
52111
|
+
function peg$parseGraphEof() {
|
|
52112
|
+
let s0, s12, s2;
|
|
52113
|
+
s0 = peg$currPos;
|
|
52114
|
+
s12 = [];
|
|
52115
|
+
if (input.length > peg$currPos) {
|
|
52116
|
+
s2 = input.charAt(peg$currPos);
|
|
52117
|
+
peg$currPos++;
|
|
52118
|
+
} else {
|
|
52119
|
+
s2 = peg$FAILED;
|
|
52120
|
+
if (peg$silentFails === 0) {
|
|
52121
|
+
peg$fail(peg$e2);
|
|
52122
|
+
}
|
|
52123
|
+
}
|
|
52124
|
+
while (s2 !== peg$FAILED) {
|
|
52125
|
+
s12.push(s2);
|
|
52126
|
+
if (input.length > peg$currPos) {
|
|
52127
|
+
s2 = input.charAt(peg$currPos);
|
|
52128
|
+
peg$currPos++;
|
|
52129
|
+
} else {
|
|
52130
|
+
s2 = peg$FAILED;
|
|
52131
|
+
if (peg$silentFails === 0) {
|
|
52132
|
+
peg$fail(peg$e2);
|
|
52133
|
+
}
|
|
52134
|
+
}
|
|
52135
|
+
}
|
|
52136
|
+
peg$savedPos = s0;
|
|
52137
|
+
s12 = peg$f2();
|
|
52138
|
+
s0 = s12;
|
|
52139
|
+
return s0;
|
|
52140
|
+
}
|
|
52031
52141
|
function peg$parseOptStrict() {
|
|
52032
52142
|
let s0, s12, s2;
|
|
52033
52143
|
s0 = peg$currPos;
|
|
@@ -52035,7 +52145,7 @@ function peg$parse(input, options) {
|
|
|
52035
52145
|
if (s12 !== peg$FAILED) {
|
|
52036
52146
|
s2 = peg$parse_();
|
|
52037
52147
|
peg$savedPos = s0;
|
|
52038
|
-
s0 = peg$
|
|
52148
|
+
s0 = peg$f3();
|
|
52039
52149
|
} else {
|
|
52040
52150
|
peg$currPos = s0;
|
|
52041
52151
|
s0 = peg$FAILED;
|
|
@@ -52044,7 +52154,7 @@ function peg$parse(input, options) {
|
|
|
52044
52154
|
s0 = peg$currPos;
|
|
52045
52155
|
s12 = "";
|
|
52046
52156
|
peg$savedPos = s0;
|
|
52047
|
-
s12 = peg$
|
|
52157
|
+
s12 = peg$f4();
|
|
52048
52158
|
s0 = s12;
|
|
52049
52159
|
}
|
|
52050
52160
|
return s0;
|
|
@@ -52055,7 +52165,7 @@ function peg$parse(input, options) {
|
|
|
52055
52165
|
s12 = peg$parseDigraphKw();
|
|
52056
52166
|
if (s12 !== peg$FAILED) {
|
|
52057
52167
|
peg$savedPos = s0;
|
|
52058
|
-
s12 = peg$
|
|
52168
|
+
s12 = peg$f5();
|
|
52059
52169
|
}
|
|
52060
52170
|
s0 = s12;
|
|
52061
52171
|
if (s0 === peg$FAILED) {
|
|
@@ -52063,7 +52173,7 @@ function peg$parse(input, options) {
|
|
|
52063
52173
|
s12 = peg$parseGraphKw();
|
|
52064
52174
|
if (s12 !== peg$FAILED) {
|
|
52065
52175
|
peg$savedPos = s0;
|
|
52066
|
-
s12 = peg$
|
|
52176
|
+
s12 = peg$f6();
|
|
52067
52177
|
}
|
|
52068
52178
|
s0 = s12;
|
|
52069
52179
|
}
|
|
@@ -52076,7 +52186,7 @@ function peg$parse(input, options) {
|
|
|
52076
52186
|
if (s12 !== peg$FAILED) {
|
|
52077
52187
|
s2 = peg$parse_();
|
|
52078
52188
|
peg$savedPos = s0;
|
|
52079
|
-
s0 = peg$
|
|
52189
|
+
s0 = peg$f7(s12);
|
|
52080
52190
|
} else {
|
|
52081
52191
|
peg$currPos = s0;
|
|
52082
52192
|
s0 = peg$FAILED;
|
|
@@ -52085,7 +52195,7 @@ function peg$parse(input, options) {
|
|
|
52085
52195
|
s0 = peg$currPos;
|
|
52086
52196
|
s12 = "";
|
|
52087
52197
|
peg$savedPos = s0;
|
|
52088
|
-
s12 = peg$
|
|
52198
|
+
s12 = peg$f8();
|
|
52089
52199
|
s0 = s12;
|
|
52090
52200
|
}
|
|
52091
52201
|
return s0;
|
|
@@ -52099,7 +52209,7 @@ function peg$parse(input, options) {
|
|
|
52099
52209
|
if (s3 !== peg$FAILED) {
|
|
52100
52210
|
s4 = peg$parse_();
|
|
52101
52211
|
peg$savedPos = s2;
|
|
52102
|
-
s2 = peg$
|
|
52212
|
+
s2 = peg$f9(s3);
|
|
52103
52213
|
} else {
|
|
52104
52214
|
peg$currPos = s2;
|
|
52105
52215
|
s2 = peg$FAILED;
|
|
@@ -52111,14 +52221,14 @@ function peg$parse(input, options) {
|
|
|
52111
52221
|
if (s3 !== peg$FAILED) {
|
|
52112
52222
|
s4 = peg$parse_();
|
|
52113
52223
|
peg$savedPos = s2;
|
|
52114
|
-
s2 = peg$
|
|
52224
|
+
s2 = peg$f9(s3);
|
|
52115
52225
|
} else {
|
|
52116
52226
|
peg$currPos = s2;
|
|
52117
52227
|
s2 = peg$FAILED;
|
|
52118
52228
|
}
|
|
52119
52229
|
}
|
|
52120
52230
|
peg$savedPos = s0;
|
|
52121
|
-
s12 = peg$
|
|
52231
|
+
s12 = peg$f10(s12);
|
|
52122
52232
|
s0 = s12;
|
|
52123
52233
|
return s0;
|
|
52124
52234
|
}
|
|
@@ -52135,7 +52245,7 @@ function peg$parse(input, options) {
|
|
|
52135
52245
|
} else {
|
|
52136
52246
|
s4 = peg$FAILED;
|
|
52137
52247
|
if (peg$silentFails === 0) {
|
|
52138
|
-
peg$fail(peg$
|
|
52248
|
+
peg$fail(peg$e3);
|
|
52139
52249
|
}
|
|
52140
52250
|
}
|
|
52141
52251
|
if (s4 !== peg$FAILED) {
|
|
@@ -52150,7 +52260,7 @@ function peg$parse(input, options) {
|
|
|
52150
52260
|
s3 = null;
|
|
52151
52261
|
}
|
|
52152
52262
|
peg$savedPos = s0;
|
|
52153
|
-
s0 = peg$
|
|
52263
|
+
s0 = peg$f11(s12);
|
|
52154
52264
|
} else {
|
|
52155
52265
|
peg$currPos = s0;
|
|
52156
52266
|
s0 = peg$FAILED;
|
|
@@ -52167,7 +52277,7 @@ function peg$parse(input, options) {
|
|
|
52167
52277
|
} else {
|
|
52168
52278
|
s4 = peg$FAILED;
|
|
52169
52279
|
if (peg$silentFails === 0) {
|
|
52170
|
-
peg$fail(peg$
|
|
52280
|
+
peg$fail(peg$e3);
|
|
52171
52281
|
}
|
|
52172
52282
|
}
|
|
52173
52283
|
if (s4 !== peg$FAILED) {
|
|
@@ -52182,7 +52292,7 @@ function peg$parse(input, options) {
|
|
|
52182
52292
|
s3 = null;
|
|
52183
52293
|
}
|
|
52184
52294
|
peg$savedPos = s0;
|
|
52185
|
-
s0 = peg$
|
|
52295
|
+
s0 = peg$f12(s12);
|
|
52186
52296
|
} else {
|
|
52187
52297
|
peg$currPos = s0;
|
|
52188
52298
|
s0 = peg$FAILED;
|
|
@@ -52201,7 +52311,7 @@ function peg$parse(input, options) {
|
|
|
52201
52311
|
s4 = peg$parseAttrListReq();
|
|
52202
52312
|
if (s4 !== peg$FAILED) {
|
|
52203
52313
|
peg$savedPos = s0;
|
|
52204
|
-
s0 = peg$
|
|
52314
|
+
s0 = peg$f13(s12, s3, s4);
|
|
52205
52315
|
} else {
|
|
52206
52316
|
peg$currPos = s0;
|
|
52207
52317
|
s0 = peg$FAILED;
|
|
@@ -52219,7 +52329,7 @@ function peg$parse(input, options) {
|
|
|
52219
52329
|
s12 = peg$parseAttrAssignment();
|
|
52220
52330
|
if (s12 !== peg$FAILED) {
|
|
52221
52331
|
peg$savedPos = s0;
|
|
52222
|
-
s12 = peg$
|
|
52332
|
+
s12 = peg$f14(s12);
|
|
52223
52333
|
}
|
|
52224
52334
|
s0 = s12;
|
|
52225
52335
|
}
|
|
@@ -52237,13 +52347,13 @@ function peg$parse(input, options) {
|
|
|
52237
52347
|
} else {
|
|
52238
52348
|
s3 = peg$FAILED;
|
|
52239
52349
|
if (peg$silentFails === 0) {
|
|
52240
|
-
peg$fail(peg$
|
|
52350
|
+
peg$fail(peg$e4);
|
|
52241
52351
|
}
|
|
52242
52352
|
}
|
|
52243
52353
|
if (s3 !== peg$FAILED) {
|
|
52244
52354
|
s4 = peg$parse_();
|
|
52245
52355
|
peg$savedPos = s0;
|
|
52246
|
-
s0 = peg$
|
|
52356
|
+
s0 = peg$f15();
|
|
52247
52357
|
} else {
|
|
52248
52358
|
peg$currPos = s0;
|
|
52249
52359
|
s0 = peg$FAILED;
|
|
@@ -52256,7 +52366,7 @@ function peg$parse(input, options) {
|
|
|
52256
52366
|
s0 = peg$currPos;
|
|
52257
52367
|
s12 = "";
|
|
52258
52368
|
peg$savedPos = s0;
|
|
52259
|
-
s12 = peg$
|
|
52369
|
+
s12 = peg$f16();
|
|
52260
52370
|
s0 = s12;
|
|
52261
52371
|
}
|
|
52262
52372
|
return s0;
|
|
@@ -52267,7 +52377,7 @@ function peg$parse(input, options) {
|
|
|
52267
52377
|
s12 = peg$parseGraphKw();
|
|
52268
52378
|
if (s12 !== peg$FAILED) {
|
|
52269
52379
|
peg$savedPos = s0;
|
|
52270
|
-
s12 = peg$
|
|
52380
|
+
s12 = peg$f17();
|
|
52271
52381
|
}
|
|
52272
52382
|
s0 = s12;
|
|
52273
52383
|
if (s0 === peg$FAILED) {
|
|
@@ -52275,7 +52385,7 @@ function peg$parse(input, options) {
|
|
|
52275
52385
|
s12 = peg$parseNodeKw();
|
|
52276
52386
|
if (s12 !== peg$FAILED) {
|
|
52277
52387
|
peg$savedPos = s0;
|
|
52278
|
-
s12 = peg$
|
|
52388
|
+
s12 = peg$f18();
|
|
52279
52389
|
}
|
|
52280
52390
|
s0 = s12;
|
|
52281
52391
|
if (s0 === peg$FAILED) {
|
|
@@ -52283,7 +52393,7 @@ function peg$parse(input, options) {
|
|
|
52283
52393
|
s12 = peg$parseEdgeKw();
|
|
52284
52394
|
if (s12 !== peg$FAILED) {
|
|
52285
52395
|
peg$savedPos = s0;
|
|
52286
|
-
s12 = peg$
|
|
52396
|
+
s12 = peg$f19();
|
|
52287
52397
|
}
|
|
52288
52398
|
s0 = s12;
|
|
52289
52399
|
}
|
|
@@ -52300,7 +52410,7 @@ function peg$parse(input, options) {
|
|
|
52300
52410
|
} else {
|
|
52301
52411
|
s2 = peg$FAILED;
|
|
52302
52412
|
if (peg$silentFails === 0) {
|
|
52303
|
-
peg$fail(peg$
|
|
52413
|
+
peg$fail(peg$e5);
|
|
52304
52414
|
}
|
|
52305
52415
|
}
|
|
52306
52416
|
if (s2 !== peg$FAILED) {
|
|
@@ -52313,14 +52423,14 @@ function peg$parse(input, options) {
|
|
|
52313
52423
|
} else {
|
|
52314
52424
|
s6 = peg$FAILED;
|
|
52315
52425
|
if (peg$silentFails === 0) {
|
|
52316
|
-
peg$fail(peg$
|
|
52426
|
+
peg$fail(peg$e6);
|
|
52317
52427
|
}
|
|
52318
52428
|
}
|
|
52319
52429
|
if (s6 !== peg$FAILED) {
|
|
52320
52430
|
s7 = peg$parseAttrList();
|
|
52321
52431
|
if (s7 !== peg$FAILED) {
|
|
52322
52432
|
peg$savedPos = s0;
|
|
52323
|
-
s0 = peg$
|
|
52433
|
+
s0 = peg$f20(s4, s7);
|
|
52324
52434
|
} else {
|
|
52325
52435
|
peg$currPos = s0;
|
|
52326
52436
|
s0 = peg$FAILED;
|
|
@@ -52342,7 +52452,7 @@ function peg$parse(input, options) {
|
|
|
52342
52452
|
s0 = peg$currPos;
|
|
52343
52453
|
s12 = "";
|
|
52344
52454
|
peg$savedPos = s0;
|
|
52345
|
-
s12 = peg$
|
|
52455
|
+
s12 = peg$f21();
|
|
52346
52456
|
s0 = s12;
|
|
52347
52457
|
}
|
|
52348
52458
|
return s0;
|
|
@@ -52362,7 +52472,7 @@ function peg$parse(input, options) {
|
|
|
52362
52472
|
} else {
|
|
52363
52473
|
s6 = peg$FAILED;
|
|
52364
52474
|
if (peg$silentFails === 0) {
|
|
52365
|
-
peg$fail(peg$
|
|
52475
|
+
peg$fail(peg$e7);
|
|
52366
52476
|
}
|
|
52367
52477
|
}
|
|
52368
52478
|
if (s6 !== peg$FAILED) {
|
|
@@ -52377,7 +52487,7 @@ function peg$parse(input, options) {
|
|
|
52377
52487
|
s5 = null;
|
|
52378
52488
|
}
|
|
52379
52489
|
peg$savedPos = s2;
|
|
52380
|
-
s2 = peg$
|
|
52490
|
+
s2 = peg$f22(s3);
|
|
52381
52491
|
} else {
|
|
52382
52492
|
peg$currPos = s2;
|
|
52383
52493
|
s2 = peg$FAILED;
|
|
@@ -52395,7 +52505,7 @@ function peg$parse(input, options) {
|
|
|
52395
52505
|
} else {
|
|
52396
52506
|
s6 = peg$FAILED;
|
|
52397
52507
|
if (peg$silentFails === 0) {
|
|
52398
|
-
peg$fail(peg$
|
|
52508
|
+
peg$fail(peg$e7);
|
|
52399
52509
|
}
|
|
52400
52510
|
}
|
|
52401
52511
|
if (s6 !== peg$FAILED) {
|
|
@@ -52410,14 +52520,14 @@ function peg$parse(input, options) {
|
|
|
52410
52520
|
s5 = null;
|
|
52411
52521
|
}
|
|
52412
52522
|
peg$savedPos = s2;
|
|
52413
|
-
s2 = peg$
|
|
52523
|
+
s2 = peg$f22(s3);
|
|
52414
52524
|
} else {
|
|
52415
52525
|
peg$currPos = s2;
|
|
52416
52526
|
s2 = peg$FAILED;
|
|
52417
52527
|
}
|
|
52418
52528
|
}
|
|
52419
52529
|
peg$savedPos = s0;
|
|
52420
|
-
s12 = peg$
|
|
52530
|
+
s12 = peg$f23(s12);
|
|
52421
52531
|
s0 = s12;
|
|
52422
52532
|
return s0;
|
|
52423
52533
|
}
|
|
@@ -52433,7 +52543,7 @@ function peg$parse(input, options) {
|
|
|
52433
52543
|
} else {
|
|
52434
52544
|
s3 = peg$FAILED;
|
|
52435
52545
|
if (peg$silentFails === 0) {
|
|
52436
|
-
peg$fail(peg$
|
|
52546
|
+
peg$fail(peg$e4);
|
|
52437
52547
|
}
|
|
52438
52548
|
}
|
|
52439
52549
|
if (s3 !== peg$FAILED) {
|
|
@@ -52441,7 +52551,7 @@ function peg$parse(input, options) {
|
|
|
52441
52551
|
s5 = peg$parseAtom();
|
|
52442
52552
|
if (s5 !== peg$FAILED) {
|
|
52443
52553
|
peg$savedPos = s0;
|
|
52444
|
-
s0 = peg$
|
|
52554
|
+
s0 = peg$f24(s12, s5);
|
|
52445
52555
|
} else {
|
|
52446
52556
|
peg$currPos = s0;
|
|
52447
52557
|
s0 = peg$FAILED;
|
|
@@ -52468,7 +52578,7 @@ function peg$parse(input, options) {
|
|
|
52468
52578
|
s5 = peg$parseAttrList();
|
|
52469
52579
|
if (s5 !== peg$FAILED) {
|
|
52470
52580
|
peg$savedPos = s0;
|
|
52471
|
-
s0 = peg$
|
|
52581
|
+
s0 = peg$f25(s12, s3, s5);
|
|
52472
52582
|
} else {
|
|
52473
52583
|
peg$currPos = s0;
|
|
52474
52584
|
s0 = peg$FAILED;
|
|
@@ -52489,7 +52599,7 @@ function peg$parse(input, options) {
|
|
|
52489
52599
|
s12 = peg$parseSubgraph();
|
|
52490
52600
|
if (s12 !== peg$FAILED) {
|
|
52491
52601
|
peg$savedPos = s0;
|
|
52492
|
-
s12 = peg$
|
|
52602
|
+
s12 = peg$f26(s12);
|
|
52493
52603
|
}
|
|
52494
52604
|
s0 = s12;
|
|
52495
52605
|
if (s0 === peg$FAILED) {
|
|
@@ -52497,7 +52607,7 @@ function peg$parse(input, options) {
|
|
|
52497
52607
|
s12 = peg$parseNode();
|
|
52498
52608
|
if (s12 !== peg$FAILED) {
|
|
52499
52609
|
peg$savedPos = s0;
|
|
52500
|
-
s12 = peg$
|
|
52610
|
+
s12 = peg$f27(s12);
|
|
52501
52611
|
}
|
|
52502
52612
|
s0 = s12;
|
|
52503
52613
|
}
|
|
@@ -52515,7 +52625,7 @@ function peg$parse(input, options) {
|
|
|
52515
52625
|
} else {
|
|
52516
52626
|
s3 = peg$FAILED;
|
|
52517
52627
|
if (peg$silentFails === 0) {
|
|
52518
|
-
peg$fail(peg$
|
|
52628
|
+
peg$fail(peg$e8);
|
|
52519
52629
|
}
|
|
52520
52630
|
}
|
|
52521
52631
|
if (s3 !== peg$FAILED) {
|
|
@@ -52529,7 +52639,7 @@ function peg$parse(input, options) {
|
|
|
52529
52639
|
} else {
|
|
52530
52640
|
s7 = peg$FAILED;
|
|
52531
52641
|
if (peg$silentFails === 0) {
|
|
52532
|
-
peg$fail(peg$
|
|
52642
|
+
peg$fail(peg$e8);
|
|
52533
52643
|
}
|
|
52534
52644
|
}
|
|
52535
52645
|
if (s7 !== peg$FAILED) {
|
|
@@ -52537,7 +52647,7 @@ function peg$parse(input, options) {
|
|
|
52537
52647
|
s9 = peg$parseAtom();
|
|
52538
52648
|
if (s9 !== peg$FAILED) {
|
|
52539
52649
|
peg$savedPos = s0;
|
|
52540
|
-
s0 = peg$
|
|
52650
|
+
s0 = peg$f28(s12, s5, s9);
|
|
52541
52651
|
} else {
|
|
52542
52652
|
peg$currPos = s0;
|
|
52543
52653
|
s0 = peg$FAILED;
|
|
@@ -52569,7 +52679,7 @@ function peg$parse(input, options) {
|
|
|
52569
52679
|
} else {
|
|
52570
52680
|
s3 = peg$FAILED;
|
|
52571
52681
|
if (peg$silentFails === 0) {
|
|
52572
|
-
peg$fail(peg$
|
|
52682
|
+
peg$fail(peg$e8);
|
|
52573
52683
|
}
|
|
52574
52684
|
}
|
|
52575
52685
|
if (s3 !== peg$FAILED) {
|
|
@@ -52577,7 +52687,7 @@ function peg$parse(input, options) {
|
|
|
52577
52687
|
s5 = peg$parseAtom();
|
|
52578
52688
|
if (s5 !== peg$FAILED) {
|
|
52579
52689
|
peg$savedPos = s0;
|
|
52580
|
-
s0 = peg$
|
|
52690
|
+
s0 = peg$f29(s12, s5);
|
|
52581
52691
|
} else {
|
|
52582
52692
|
peg$currPos = s0;
|
|
52583
52693
|
s0 = peg$FAILED;
|
|
@@ -52595,7 +52705,7 @@ function peg$parse(input, options) {
|
|
|
52595
52705
|
s12 = peg$parseAtom();
|
|
52596
52706
|
if (s12 !== peg$FAILED) {
|
|
52597
52707
|
peg$savedPos = s0;
|
|
52598
|
-
s12 = peg$
|
|
52708
|
+
s12 = peg$f30(s12);
|
|
52599
52709
|
}
|
|
52600
52710
|
s0 = s12;
|
|
52601
52711
|
}
|
|
@@ -52614,7 +52724,7 @@ function peg$parse(input, options) {
|
|
|
52614
52724
|
s5 = peg$parseEdgeChain();
|
|
52615
52725
|
if (s5 !== peg$FAILED) {
|
|
52616
52726
|
peg$savedPos = s0;
|
|
52617
|
-
s0 = peg$
|
|
52727
|
+
s0 = peg$f31(s3, s5);
|
|
52618
52728
|
} else {
|
|
52619
52729
|
peg$currPos = s0;
|
|
52620
52730
|
s0 = peg$FAILED;
|
|
@@ -52631,7 +52741,7 @@ function peg$parse(input, options) {
|
|
|
52631
52741
|
s0 = peg$currPos;
|
|
52632
52742
|
s12 = "";
|
|
52633
52743
|
peg$savedPos = s0;
|
|
52634
|
-
s12 = peg$
|
|
52744
|
+
s12 = peg$f32();
|
|
52635
52745
|
s0 = s12;
|
|
52636
52746
|
}
|
|
52637
52747
|
return s0;
|
|
@@ -52645,7 +52755,7 @@ function peg$parse(input, options) {
|
|
|
52645
52755
|
} else {
|
|
52646
52756
|
s0 = peg$FAILED;
|
|
52647
52757
|
if (peg$silentFails === 0) {
|
|
52648
|
-
peg$fail(peg$
|
|
52758
|
+
peg$fail(peg$e10);
|
|
52649
52759
|
}
|
|
52650
52760
|
}
|
|
52651
52761
|
if (s0 === peg$FAILED) {
|
|
@@ -52655,7 +52765,7 @@ function peg$parse(input, options) {
|
|
|
52655
52765
|
} else {
|
|
52656
52766
|
s0 = peg$FAILED;
|
|
52657
52767
|
if (peg$silentFails === 0) {
|
|
52658
|
-
peg$fail(peg$
|
|
52768
|
+
peg$fail(peg$e11);
|
|
52659
52769
|
}
|
|
52660
52770
|
}
|
|
52661
52771
|
}
|
|
@@ -52663,7 +52773,7 @@ function peg$parse(input, options) {
|
|
|
52663
52773
|
if (s0 === peg$FAILED) {
|
|
52664
52774
|
s12 = peg$FAILED;
|
|
52665
52775
|
if (peg$silentFails === 0) {
|
|
52666
|
-
peg$fail(peg$
|
|
52776
|
+
peg$fail(peg$e9);
|
|
52667
52777
|
}
|
|
52668
52778
|
}
|
|
52669
52779
|
return s0;
|
|
@@ -52702,7 +52812,7 @@ function peg$parse(input, options) {
|
|
|
52702
52812
|
}
|
|
52703
52813
|
if (s9 !== peg$FAILED) {
|
|
52704
52814
|
peg$savedPos = s0;
|
|
52705
|
-
s0 = peg$
|
|
52815
|
+
s0 = peg$f33(s3, s7);
|
|
52706
52816
|
} else {
|
|
52707
52817
|
peg$currPos = s0;
|
|
52708
52818
|
s0 = peg$FAILED;
|
|
@@ -52753,7 +52863,7 @@ function peg$parse(input, options) {
|
|
|
52753
52863
|
}
|
|
52754
52864
|
if (s7 !== peg$FAILED) {
|
|
52755
52865
|
peg$savedPos = s0;
|
|
52756
|
-
s0 = peg$
|
|
52866
|
+
s0 = peg$f34(s5);
|
|
52757
52867
|
} else {
|
|
52758
52868
|
peg$currPos = s0;
|
|
52759
52869
|
s0 = peg$FAILED;
|
|
@@ -52797,7 +52907,7 @@ function peg$parse(input, options) {
|
|
|
52797
52907
|
}
|
|
52798
52908
|
if (s5 !== peg$FAILED) {
|
|
52799
52909
|
peg$savedPos = s0;
|
|
52800
|
-
s0 = peg$
|
|
52910
|
+
s0 = peg$f35(s3);
|
|
52801
52911
|
} else {
|
|
52802
52912
|
peg$currPos = s0;
|
|
52803
52913
|
s0 = peg$FAILED;
|
|
@@ -52828,7 +52938,7 @@ function peg$parse(input, options) {
|
|
|
52828
52938
|
} else {
|
|
52829
52939
|
s5 = peg$FAILED;
|
|
52830
52940
|
if (peg$silentFails === 0) {
|
|
52831
|
-
peg$fail(peg$
|
|
52941
|
+
peg$fail(peg$e12);
|
|
52832
52942
|
}
|
|
52833
52943
|
}
|
|
52834
52944
|
if (s5 !== peg$FAILED) {
|
|
@@ -52836,7 +52946,7 @@ function peg$parse(input, options) {
|
|
|
52836
52946
|
s7 = peg$parseQAtom();
|
|
52837
52947
|
if (s7 !== peg$FAILED) {
|
|
52838
52948
|
peg$savedPos = s3;
|
|
52839
|
-
s3 = peg$
|
|
52949
|
+
s3 = peg$f36(s12, s7);
|
|
52840
52950
|
} else {
|
|
52841
52951
|
peg$currPos = s3;
|
|
52842
52952
|
s3 = peg$FAILED;
|
|
@@ -52855,7 +52965,7 @@ function peg$parse(input, options) {
|
|
|
52855
52965
|
} else {
|
|
52856
52966
|
s5 = peg$FAILED;
|
|
52857
52967
|
if (peg$silentFails === 0) {
|
|
52858
|
-
peg$fail(peg$
|
|
52968
|
+
peg$fail(peg$e12);
|
|
52859
52969
|
}
|
|
52860
52970
|
}
|
|
52861
52971
|
if (s5 !== peg$FAILED) {
|
|
@@ -52863,7 +52973,7 @@ function peg$parse(input, options) {
|
|
|
52863
52973
|
s7 = peg$parseQAtom();
|
|
52864
52974
|
if (s7 !== peg$FAILED) {
|
|
52865
52975
|
peg$savedPos = s3;
|
|
52866
|
-
s3 = peg$
|
|
52976
|
+
s3 = peg$f36(s12, s7);
|
|
52867
52977
|
} else {
|
|
52868
52978
|
peg$currPos = s3;
|
|
52869
52979
|
s3 = peg$FAILED;
|
|
@@ -52874,7 +52984,7 @@ function peg$parse(input, options) {
|
|
|
52874
52984
|
}
|
|
52875
52985
|
}
|
|
52876
52986
|
peg$savedPos = s0;
|
|
52877
|
-
s0 = peg$
|
|
52987
|
+
s0 = peg$f37(s12, s2);
|
|
52878
52988
|
} else {
|
|
52879
52989
|
peg$currPos = s0;
|
|
52880
52990
|
s0 = peg$FAILED;
|
|
@@ -52901,7 +53011,7 @@ function peg$parse(input, options) {
|
|
|
52901
53011
|
} else {
|
|
52902
53012
|
s12 = peg$FAILED;
|
|
52903
53013
|
if (peg$silentFails === 0) {
|
|
52904
|
-
peg$fail(peg$
|
|
53014
|
+
peg$fail(peg$e13);
|
|
52905
53015
|
}
|
|
52906
53016
|
}
|
|
52907
53017
|
if (s12 !== peg$FAILED) {
|
|
@@ -52917,12 +53027,12 @@ function peg$parse(input, options) {
|
|
|
52917
53027
|
} else {
|
|
52918
53028
|
s3 = peg$FAILED;
|
|
52919
53029
|
if (peg$silentFails === 0) {
|
|
52920
|
-
peg$fail(peg$
|
|
53030
|
+
peg$fail(peg$e13);
|
|
52921
53031
|
}
|
|
52922
53032
|
}
|
|
52923
53033
|
if (s3 !== peg$FAILED) {
|
|
52924
53034
|
peg$savedPos = s0;
|
|
52925
|
-
s0 = peg$
|
|
53035
|
+
s0 = peg$f38(s2);
|
|
52926
53036
|
} else {
|
|
52927
53037
|
peg$currPos = s0;
|
|
52928
53038
|
s0 = peg$FAILED;
|
|
@@ -52942,12 +53052,12 @@ function peg$parse(input, options) {
|
|
|
52942
53052
|
} else {
|
|
52943
53053
|
s12 = peg$FAILED;
|
|
52944
53054
|
if (peg$silentFails === 0) {
|
|
52945
|
-
peg$fail(peg$
|
|
53055
|
+
peg$fail(peg$e14);
|
|
52946
53056
|
}
|
|
52947
53057
|
}
|
|
52948
53058
|
if (s12 !== peg$FAILED) {
|
|
52949
53059
|
peg$savedPos = s0;
|
|
52950
|
-
s12 = peg$
|
|
53060
|
+
s12 = peg$f39();
|
|
52951
53061
|
}
|
|
52952
53062
|
s0 = s12;
|
|
52953
53063
|
if (s0 === peg$FAILED) {
|
|
@@ -52958,12 +53068,12 @@ function peg$parse(input, options) {
|
|
|
52958
53068
|
} else {
|
|
52959
53069
|
s12 = peg$FAILED;
|
|
52960
53070
|
if (peg$silentFails === 0) {
|
|
52961
|
-
peg$fail(peg$
|
|
53071
|
+
peg$fail(peg$e15);
|
|
52962
53072
|
}
|
|
52963
53073
|
}
|
|
52964
53074
|
if (s12 !== peg$FAILED) {
|
|
52965
53075
|
peg$savedPos = s0;
|
|
52966
|
-
s12 = peg$
|
|
53076
|
+
s12 = peg$f40();
|
|
52967
53077
|
}
|
|
52968
53078
|
s0 = s12;
|
|
52969
53079
|
if (s0 === peg$FAILED) {
|
|
@@ -52974,7 +53084,7 @@ function peg$parse(input, options) {
|
|
|
52974
53084
|
} else {
|
|
52975
53085
|
s12 = peg$FAILED;
|
|
52976
53086
|
if (peg$silentFails === 0) {
|
|
52977
|
-
peg$fail(peg$
|
|
53087
|
+
peg$fail(peg$e16);
|
|
52978
53088
|
}
|
|
52979
53089
|
}
|
|
52980
53090
|
if (s12 !== peg$FAILED) {
|
|
@@ -52984,12 +53094,12 @@ function peg$parse(input, options) {
|
|
|
52984
53094
|
} else {
|
|
52985
53095
|
s2 = peg$FAILED;
|
|
52986
53096
|
if (peg$silentFails === 0) {
|
|
52987
|
-
peg$fail(peg$
|
|
53097
|
+
peg$fail(peg$e2);
|
|
52988
53098
|
}
|
|
52989
53099
|
}
|
|
52990
53100
|
if (s2 !== peg$FAILED) {
|
|
52991
53101
|
peg$savedPos = s0;
|
|
52992
|
-
s0 = peg$
|
|
53102
|
+
s0 = peg$f41(s2);
|
|
52993
53103
|
} else {
|
|
52994
53104
|
peg$currPos = s0;
|
|
52995
53105
|
s0 = peg$FAILED;
|
|
@@ -53038,7 +53148,7 @@ function peg$parse(input, options) {
|
|
|
53038
53148
|
}
|
|
53039
53149
|
if (s3 !== peg$FAILED) {
|
|
53040
53150
|
peg$savedPos = s0;
|
|
53041
|
-
s0 = peg$
|
|
53151
|
+
s0 = peg$f42(s2);
|
|
53042
53152
|
} else {
|
|
53043
53153
|
peg$currPos = s0;
|
|
53044
53154
|
s0 = peg$FAILED;
|
|
@@ -53059,7 +53169,7 @@ function peg$parse(input, options) {
|
|
|
53059
53169
|
s2 = peg$parseHtmlChar();
|
|
53060
53170
|
}
|
|
53061
53171
|
peg$savedPos = s0;
|
|
53062
|
-
s12 = peg$
|
|
53172
|
+
s12 = peg$f43(s12);
|
|
53063
53173
|
s0 = s12;
|
|
53064
53174
|
return s0;
|
|
53065
53175
|
}
|
|
@@ -53089,7 +53199,7 @@ function peg$parse(input, options) {
|
|
|
53089
53199
|
}
|
|
53090
53200
|
if (s3 !== peg$FAILED) {
|
|
53091
53201
|
peg$savedPos = s0;
|
|
53092
|
-
s0 = peg$
|
|
53202
|
+
s0 = peg$f44(s12, s2);
|
|
53093
53203
|
} else {
|
|
53094
53204
|
peg$currPos = s0;
|
|
53095
53205
|
s0 = peg$FAILED;
|
|
@@ -53134,7 +53244,7 @@ function peg$parse(input, options) {
|
|
|
53134
53244
|
s2 = peg$parseName();
|
|
53135
53245
|
if (s2 !== peg$FAILED) {
|
|
53136
53246
|
peg$savedPos = s0;
|
|
53137
|
-
s0 = peg$
|
|
53247
|
+
s0 = peg$f45(s2);
|
|
53138
53248
|
} else {
|
|
53139
53249
|
peg$currPos = s0;
|
|
53140
53250
|
s0 = peg$FAILED;
|
|
@@ -53182,7 +53292,7 @@ function peg$parse(input, options) {
|
|
|
53182
53292
|
}
|
|
53183
53293
|
}
|
|
53184
53294
|
peg$savedPos = s0;
|
|
53185
|
-
s0 = peg$
|
|
53295
|
+
s0 = peg$f46(s12, s2);
|
|
53186
53296
|
} else {
|
|
53187
53297
|
peg$currPos = s0;
|
|
53188
53298
|
s0 = peg$FAILED;
|
|
@@ -53340,7 +53450,7 @@ function peg$parse(input, options) {
|
|
|
53340
53450
|
}
|
|
53341
53451
|
if (s12 !== peg$FAILED) {
|
|
53342
53452
|
peg$savedPos = s0;
|
|
53343
|
-
s12 = peg$
|
|
53453
|
+
s12 = peg$f47(s12);
|
|
53344
53454
|
}
|
|
53345
53455
|
s0 = s12;
|
|
53346
53456
|
return s0;
|
|
@@ -54615,7 +54725,7 @@ function peg$parse(input, options) {
|
|
|
54615
54725
|
} else {
|
|
54616
54726
|
s5 = peg$FAILED;
|
|
54617
54727
|
if (peg$silentFails === 0) {
|
|
54618
|
-
peg$fail(peg$
|
|
54728
|
+
peg$fail(peg$e2);
|
|
54619
54729
|
}
|
|
54620
54730
|
}
|
|
54621
54731
|
if (s5 !== peg$FAILED) {
|
|
@@ -54657,7 +54767,7 @@ function peg$parse(input, options) {
|
|
|
54657
54767
|
} else {
|
|
54658
54768
|
s5 = peg$FAILED;
|
|
54659
54769
|
if (peg$silentFails === 0) {
|
|
54660
|
-
peg$fail(peg$
|
|
54770
|
+
peg$fail(peg$e2);
|
|
54661
54771
|
}
|
|
54662
54772
|
}
|
|
54663
54773
|
if (s5 !== peg$FAILED) {
|
|
@@ -54747,7 +54857,7 @@ function peg$parse(input, options) {
|
|
|
54747
54857
|
} else {
|
|
54748
54858
|
s4 = peg$FAILED;
|
|
54749
54859
|
if (peg$silentFails === 0) {
|
|
54750
|
-
peg$fail(peg$
|
|
54860
|
+
peg$fail(peg$e2);
|
|
54751
54861
|
}
|
|
54752
54862
|
}
|
|
54753
54863
|
peg$silentFails--;
|
|
@@ -54824,7 +54934,7 @@ function peg$parse(input, options) {
|
|
|
54824
54934
|
} else {
|
|
54825
54935
|
s4 = peg$FAILED;
|
|
54826
54936
|
if (peg$silentFails === 0) {
|
|
54827
|
-
peg$fail(peg$
|
|
54937
|
+
peg$fail(peg$e2);
|
|
54828
54938
|
}
|
|
54829
54939
|
}
|
|
54830
54940
|
peg$silentFails--;
|
|
@@ -55611,8 +55721,9 @@ function parse(src) {
|
|
|
55611
55721
|
}
|
|
55612
55722
|
throw err;
|
|
55613
55723
|
}
|
|
55724
|
+
const lexed = src.slice(0, ast.end);
|
|
55614
55725
|
try {
|
|
55615
|
-
validateEdgeOperators(
|
|
55726
|
+
validateEdgeOperators(lexed, ast.directed);
|
|
55616
55727
|
} catch (err) {
|
|
55617
55728
|
const offset = err instanceof ParseError ? err.location.offset : void 0;
|
|
55618
55729
|
if (offset !== void 0) {
|
|
@@ -55621,7 +55732,7 @@ function parse(src) {
|
|
|
55621
55732
|
}
|
|
55622
55733
|
throw err;
|
|
55623
55734
|
}
|
|
55624
|
-
warnNumberAmbiguities(
|
|
55735
|
+
warnNumberAmbiguities(lexed, lexed.length);
|
|
55625
55736
|
return buildFromAst(ast);
|
|
55626
55737
|
}
|
|
55627
55738
|
|