natural 7.0.7 → 8.0.0

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.
@@ -1,1440 +0,0 @@
1
- /*
2
- * Generated by PEG.js 0.10.0.
3
- *
4
- * http://pegjs.org/
5
- */
6
-
7
- "use strict";
8
-
9
- function peg$subclass(child, parent) {
10
- function ctor() { this.constructor = child; }
11
- ctor.prototype = parent.prototype;
12
- child.prototype = new ctor();
13
- }
14
-
15
- function peg$SyntaxError(message, expected, found, location) {
16
- this.message = message;
17
- this.expected = expected;
18
- this.found = found;
19
- this.location = location;
20
- this.name = "SyntaxError";
21
-
22
- if (typeof Error.captureStackTrace === "function") {
23
- Error.captureStackTrace(this, peg$SyntaxError);
24
- }
25
- }
26
-
27
- peg$subclass(peg$SyntaxError, Error);
28
-
29
- peg$SyntaxError.buildMessage = function(expected, found) {
30
- var DESCRIBE_EXPECTATION_FNS = {
31
- literal: function(expectation) {
32
- return "\"" + literalEscape(expectation.text) + "\"";
33
- },
34
-
35
- "class": function(expectation) {
36
- var escapedParts = "",
37
- i;
38
-
39
- for (i = 0; i < expectation.parts.length; i++) {
40
- escapedParts += expectation.parts[i] instanceof Array
41
- ? classEscape(expectation.parts[i][0]) + "-" + classEscape(expectation.parts[i][1])
42
- : classEscape(expectation.parts[i]);
43
- }
44
-
45
- return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]";
46
- },
47
-
48
- any: function(expectation) {
49
- return "any character";
50
- },
51
-
52
- end: function(expectation) {
53
- return "end of input";
54
- },
55
-
56
- other: function(expectation) {
57
- return expectation.description;
58
- }
59
- };
60
-
61
- function hex(ch) {
62
- return ch.charCodeAt(0).toString(16).toUpperCase();
63
- }
64
-
65
- function literalEscape(s) {
66
- return s
67
- .replace(/\\/g, '\\\\')
68
- .replace(/"/g, '\\"')
69
- .replace(/\0/g, '\\0')
70
- .replace(/\t/g, '\\t')
71
- .replace(/\n/g, '\\n')
72
- .replace(/\r/g, '\\r')
73
- .replace(/[\x00-\x0F]/g, function(ch) { return '\\x0' + hex(ch); })
74
- .replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return '\\x' + hex(ch); });
75
- }
76
-
77
- function classEscape(s) {
78
- return s
79
- .replace(/\\/g, '\\\\')
80
- .replace(/\]/g, '\\]')
81
- .replace(/\^/g, '\\^')
82
- .replace(/-/g, '\\-')
83
- .replace(/\0/g, '\\0')
84
- .replace(/\t/g, '\\t')
85
- .replace(/\n/g, '\\n')
86
- .replace(/\r/g, '\\r')
87
- .replace(/[\x00-\x0F]/g, function(ch) { return '\\x0' + hex(ch); })
88
- .replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) { return '\\x' + hex(ch); });
89
- }
90
-
91
- function describeExpectation(expectation) {
92
- return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);
93
- }
94
-
95
- function describeExpected(expected) {
96
- var descriptions = new Array(expected.length),
97
- i, j;
98
-
99
- for (i = 0; i < expected.length; i++) {
100
- descriptions[i] = describeExpectation(expected[i]);
101
- }
102
-
103
- descriptions.sort();
104
-
105
- if (descriptions.length > 0) {
106
- for (i = 1, j = 1; i < descriptions.length; i++) {
107
- if (descriptions[i - 1] !== descriptions[i]) {
108
- descriptions[j] = descriptions[i];
109
- j++;
110
- }
111
- }
112
- descriptions.length = j;
113
- }
114
-
115
- switch (descriptions.length) {
116
- case 1:
117
- return descriptions[0];
118
-
119
- case 2:
120
- return descriptions[0] + " or " + descriptions[1];
121
-
122
- default:
123
- return descriptions.slice(0, -1).join(", ")
124
- + ", or "
125
- + descriptions[descriptions.length - 1];
126
- }
127
- }
128
-
129
- function describeFound(found) {
130
- return found ? "\"" + literalEscape(found) + "\"" : "end of input";
131
- }
132
-
133
- return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";
134
- };
135
-
136
- function peg$parse(input, options) {
137
- options = options !== void 0 ? options : {};
138
-
139
- var peg$FAILED = {},
140
-
141
- peg$startRuleFunctions = { s: peg$parses },
142
- peg$startRuleFunction = peg$parses,
143
-
144
- peg$c0 = function(sentences) {
145
- let result = []
146
- sentences.forEach(sent0 => {
147
- sent0[0].forEach(sent1 => {
148
- result.push(sent1)
149
- })
150
- })
151
- return result
152
- },
153
- peg$c1 = function(sentences) {
154
- //return sentences
155
- return(
156
- sentences.map(sent => {
157
- //if (sent[1]) {
158
- sent[0].push(sent[1])
159
- //}
160
- return sent[0].reduce((accu, str) => accu + str).trim()
161
- })
162
- )
163
- },
164
- peg$c2 = function(open, sentences, close) {
165
- //return sentences
166
- let result = sentences.map(sent => {
167
- //if (sent[1]) {
168
- sent[0].push(sent[1])
169
- //}
170
- return sent[0].reduce((accu, str) => accu + str).trim()
171
- })
172
- result.unshift(open)
173
- if (close) {
174
- result.push(close)
175
- }
176
- return result
177
- },
178
- peg$c3 = function(seqs, end) {
179
- let res = seqs.reduce((accu, seq) => accu.concat(seq))
180
- res.push(end)
181
- return res
182
- },
183
- peg$c4 = function(tokens) {
184
- let result = tokens.map(pair => pair[0] + pair[1])
185
- return result
186
- },
187
- peg$c5 = function(open, tokens, end, close) {
188
- let result = tokens.map(pair => pair[0] + pair[1])
189
- result.unshift(open)
190
- result.push(end)
191
- result.push(close)
192
- return result
193
- },
194
- peg$c6 = /^[ \t\n\r.?!]/,
195
- peg$c7 = peg$classExpectation([" ", "\t", "\n", "\r", ".", "?", "!"], false, false),
196
- peg$c8 = function() {
197
- return text()
198
- },
199
- peg$c9 = /^[ \t\n\r]/,
200
- peg$c10 = peg$classExpectation([" ", "\t", "\n", "\r"], false, false),
201
- peg$c11 = function(t) {
202
- return t
203
- },
204
- peg$c12 = /^[^ \t\n\r!?([}"`)\]}"`0-9@]/,
205
- peg$c13 = peg$classExpectation([" ", "\t", "\n", "\r", "!", "?", "(", "[", "}", "\"", "`", ")", "]", "}", "\"", "`", ["0", "9"], "@"], true, false),
206
- peg$c14 = function(word) {
207
- const tmp = word.reduce((accu, elt) => accu + elt)
208
- return knownAbbreviations.indexOf(tmp) > -1},
209
- peg$c15 = function(word) {
210
- return text()
211
- },
212
- peg$c16 = /^[^ \t\n\r!?.([})\]}`"0-9@]/,
213
- peg$c17 = peg$classExpectation([" ", "\t", "\n", "\r", "!", "?", ".", "(", "[", "}", ")", "]", "}", "`", "\"", ["0", "9"], "@"], true, false),
214
- peg$c18 = function() {
215
- return text()
216
- },
217
- peg$c19 = /^[0-9]/,
218
- peg$c20 = peg$classExpectation([["0", "9"]], false, false),
219
- peg$c21 = peg$anyExpectation(),
220
- peg$c22 = /^[a-z]/,
221
- peg$c23 = peg$classExpectation([["a", "z"]], false, false),
222
- peg$c24 = /^[@]/,
223
- peg$c25 = peg$classExpectation(["@"], false, false),
224
- peg$c26 = /^[.]/,
225
- peg$c27 = peg$classExpectation(["."], false, false),
226
- peg$c28 = "http://",
227
- peg$c29 = peg$literalExpectation("http://", false),
228
- peg$c30 = "https://",
229
- peg$c31 = peg$literalExpectation("https://", false),
230
- peg$c32 = /^[a-z0-9]/,
231
- peg$c33 = peg$classExpectation([["a", "z"], ["0", "9"]], false, false),
232
- peg$c34 = /^[\/]/,
233
- peg$c35 = peg$classExpectation(["/"], false, false),
234
- peg$c36 = function() {
235
- return text()
236
- },
237
- peg$c37 = /^[([{"'`\u2018]/,
238
- peg$c38 = peg$classExpectation(["(", "[", "{", "\"", "'", "`", "\u2018"], false, false),
239
- peg$c39 = /^[)\]}"'`\u2019]/,
240
- peg$c40 = peg$classExpectation([")", "]", "}", "\"", "'", "`", "\u2019"], false, false),
241
-
242
- peg$currPos = 0,
243
- peg$savedPos = 0,
244
- peg$posDetailsCache = [{ line: 1, column: 1 }],
245
- peg$maxFailPos = 0,
246
- peg$maxFailExpected = [],
247
- peg$silentFails = 0,
248
-
249
- peg$result;
250
-
251
- if ("startRule" in options) {
252
- if (!(options.startRule in peg$startRuleFunctions)) {
253
- throw new Error("Can't start parsing from rule \"" + options.startRule + "\".");
254
- }
255
-
256
- peg$startRuleFunction = peg$startRuleFunctions[options.startRule];
257
- }
258
-
259
- function text() {
260
- return input.substring(peg$savedPos, peg$currPos);
261
- }
262
-
263
- function location() {
264
- return peg$computeLocation(peg$savedPos, peg$currPos);
265
- }
266
-
267
- function expected(description, location) {
268
- location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos)
269
-
270
- throw peg$buildStructuredError(
271
- [peg$otherExpectation(description)],
272
- input.substring(peg$savedPos, peg$currPos),
273
- location
274
- );
275
- }
276
-
277
- function error(message, location) {
278
- location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos)
279
-
280
- throw peg$buildSimpleError(message, location);
281
- }
282
-
283
- function peg$literalExpectation(text, ignoreCase) {
284
- return { type: "literal", text: text, ignoreCase: ignoreCase };
285
- }
286
-
287
- function peg$classExpectation(parts, inverted, ignoreCase) {
288
- return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase };
289
- }
290
-
291
- function peg$anyExpectation() {
292
- return { type: "any" };
293
- }
294
-
295
- function peg$endExpectation() {
296
- return { type: "end" };
297
- }
298
-
299
- function peg$otherExpectation(description) {
300
- return { type: "other", description: description };
301
- }
302
-
303
- function peg$computePosDetails(pos) {
304
- var details = peg$posDetailsCache[pos], p;
305
-
306
- if (details) {
307
- return details;
308
- } else {
309
- p = pos - 1;
310
- while (!peg$posDetailsCache[p]) {
311
- p--;
312
- }
313
-
314
- details = peg$posDetailsCache[p];
315
- details = {
316
- line: details.line,
317
- column: details.column
318
- };
319
-
320
- while (p < pos) {
321
- if (input.charCodeAt(p) === 10) {
322
- details.line++;
323
- details.column = 1;
324
- } else {
325
- details.column++;
326
- }
327
-
328
- p++;
329
- }
330
-
331
- peg$posDetailsCache[pos] = details;
332
- return details;
333
- }
334
- }
335
-
336
- function peg$computeLocation(startPos, endPos) {
337
- var startPosDetails = peg$computePosDetails(startPos),
338
- endPosDetails = peg$computePosDetails(endPos);
339
-
340
- return {
341
- start: {
342
- offset: startPos,
343
- line: startPosDetails.line,
344
- column: startPosDetails.column
345
- },
346
- end: {
347
- offset: endPos,
348
- line: endPosDetails.line,
349
- column: endPosDetails.column
350
- }
351
- };
352
- }
353
-
354
- function peg$fail(expected) {
355
- if (peg$currPos < peg$maxFailPos) { return; }
356
-
357
- if (peg$currPos > peg$maxFailPos) {
358
- peg$maxFailPos = peg$currPos;
359
- peg$maxFailExpected = [];
360
- }
361
-
362
- peg$maxFailExpected.push(expected);
363
- }
364
-
365
- function peg$buildSimpleError(message, location) {
366
- return new peg$SyntaxError(message, null, null, location);
367
- }
368
-
369
- function peg$buildStructuredError(expected, found, location) {
370
- return new peg$SyntaxError(
371
- peg$SyntaxError.buildMessage(expected, found),
372
- expected,
373
- found,
374
- location
375
- );
376
- }
377
-
378
- function peg$parses() {
379
- var s0, s1, s2, s3, s4;
380
-
381
- s0 = peg$currPos;
382
- s1 = [];
383
- s2 = peg$currPos;
384
- s3 = peg$parseSentences();
385
- if (s3 !== peg$FAILED) {
386
- s4 = peg$parseWhitespace();
387
- if (s4 !== peg$FAILED) {
388
- s3 = [s3, s4];
389
- s2 = s3;
390
- } else {
391
- peg$currPos = s2;
392
- s2 = peg$FAILED;
393
- }
394
- } else {
395
- peg$currPos = s2;
396
- s2 = peg$FAILED;
397
- }
398
- if (s2 === peg$FAILED) {
399
- s2 = peg$currPos;
400
- s3 = peg$parseQuotedSentences();
401
- if (s3 !== peg$FAILED) {
402
- s4 = peg$parseWhitespace();
403
- if (s4 !== peg$FAILED) {
404
- s3 = [s3, s4];
405
- s2 = s3;
406
- } else {
407
- peg$currPos = s2;
408
- s2 = peg$FAILED;
409
- }
410
- } else {
411
- peg$currPos = s2;
412
- s2 = peg$FAILED;
413
- }
414
- }
415
- if (s2 !== peg$FAILED) {
416
- while (s2 !== peg$FAILED) {
417
- s1.push(s2);
418
- s2 = peg$currPos;
419
- s3 = peg$parseSentences();
420
- if (s3 !== peg$FAILED) {
421
- s4 = peg$parseWhitespace();
422
- if (s4 !== peg$FAILED) {
423
- s3 = [s3, s4];
424
- s2 = s3;
425
- } else {
426
- peg$currPos = s2;
427
- s2 = peg$FAILED;
428
- }
429
- } else {
430
- peg$currPos = s2;
431
- s2 = peg$FAILED;
432
- }
433
- if (s2 === peg$FAILED) {
434
- s2 = peg$currPos;
435
- s3 = peg$parseQuotedSentences();
436
- if (s3 !== peg$FAILED) {
437
- s4 = peg$parseWhitespace();
438
- if (s4 !== peg$FAILED) {
439
- s3 = [s3, s4];
440
- s2 = s3;
441
- } else {
442
- peg$currPos = s2;
443
- s2 = peg$FAILED;
444
- }
445
- } else {
446
- peg$currPos = s2;
447
- s2 = peg$FAILED;
448
- }
449
- }
450
- }
451
- } else {
452
- s1 = peg$FAILED;
453
- }
454
- if (s1 !== peg$FAILED) {
455
- peg$savedPos = s0;
456
- s1 = peg$c0(s1);
457
- }
458
- s0 = s1;
459
-
460
- return s0;
461
- }
462
-
463
- function peg$parseSentences() {
464
- var s0, s1, s2, s3, s4;
465
-
466
- s0 = peg$currPos;
467
- s1 = [];
468
- s2 = peg$currPos;
469
- s3 = peg$parseSentence();
470
- if (s3 !== peg$FAILED) {
471
- s4 = peg$parseWhitespace();
472
- if (s4 !== peg$FAILED) {
473
- s3 = [s3, s4];
474
- s2 = s3;
475
- } else {
476
- peg$currPos = s2;
477
- s2 = peg$FAILED;
478
- }
479
- } else {
480
- peg$currPos = s2;
481
- s2 = peg$FAILED;
482
- }
483
- if (s2 !== peg$FAILED) {
484
- while (s2 !== peg$FAILED) {
485
- s1.push(s2);
486
- s2 = peg$currPos;
487
- s3 = peg$parseSentence();
488
- if (s3 !== peg$FAILED) {
489
- s4 = peg$parseWhitespace();
490
- if (s4 !== peg$FAILED) {
491
- s3 = [s3, s4];
492
- s2 = s3;
493
- } else {
494
- peg$currPos = s2;
495
- s2 = peg$FAILED;
496
- }
497
- } else {
498
- peg$currPos = s2;
499
- s2 = peg$FAILED;
500
- }
501
- }
502
- } else {
503
- s1 = peg$FAILED;
504
- }
505
- if (s1 !== peg$FAILED) {
506
- peg$savedPos = s0;
507
- s1 = peg$c1(s1);
508
- }
509
- s0 = s1;
510
-
511
- return s0;
512
- }
513
-
514
- function peg$parseQuotedSentences() {
515
- var s0, s1, s2, s3, s4, s5;
516
-
517
- s0 = peg$currPos;
518
- s1 = peg$parseOpenSymbol();
519
- if (s1 !== peg$FAILED) {
520
- s2 = [];
521
- s3 = peg$currPos;
522
- s4 = peg$parseSentence();
523
- if (s4 !== peg$FAILED) {
524
- s5 = peg$parseWhitespace();
525
- if (s5 !== peg$FAILED) {
526
- s4 = [s4, s5];
527
- s3 = s4;
528
- } else {
529
- peg$currPos = s3;
530
- s3 = peg$FAILED;
531
- }
532
- } else {
533
- peg$currPos = s3;
534
- s3 = peg$FAILED;
535
- }
536
- if (s3 !== peg$FAILED) {
537
- while (s3 !== peg$FAILED) {
538
- s2.push(s3);
539
- s3 = peg$currPos;
540
- s4 = peg$parseSentence();
541
- if (s4 !== peg$FAILED) {
542
- s5 = peg$parseWhitespace();
543
- if (s5 !== peg$FAILED) {
544
- s4 = [s4, s5];
545
- s3 = s4;
546
- } else {
547
- peg$currPos = s3;
548
- s3 = peg$FAILED;
549
- }
550
- } else {
551
- peg$currPos = s3;
552
- s3 = peg$FAILED;
553
- }
554
- }
555
- } else {
556
- s2 = peg$FAILED;
557
- }
558
- if (s2 !== peg$FAILED) {
559
- s3 = peg$parseCloseSymbol();
560
- if (s3 === peg$FAILED) {
561
- s3 = null;
562
- }
563
- if (s3 !== peg$FAILED) {
564
- peg$savedPos = s0;
565
- s1 = peg$c2(s1, s2, s3);
566
- s0 = s1;
567
- } else {
568
- peg$currPos = s0;
569
- s0 = peg$FAILED;
570
- }
571
- } else {
572
- peg$currPos = s0;
573
- s0 = peg$FAILED;
574
- }
575
- } else {
576
- peg$currPos = s0;
577
- s0 = peg$FAILED;
578
- }
579
-
580
- return s0;
581
- }
582
-
583
- function peg$parseSentence() {
584
- var s0, s1, s2;
585
-
586
- s0 = peg$currPos;
587
- s1 = [];
588
- s2 = peg$parseTokenSeq();
589
- if (s2 === peg$FAILED) {
590
- s2 = peg$parseQuotedTokenSeq();
591
- }
592
- if (s2 !== peg$FAILED) {
593
- while (s2 !== peg$FAILED) {
594
- s1.push(s2);
595
- s2 = peg$parseTokenSeq();
596
- if (s2 === peg$FAILED) {
597
- s2 = peg$parseQuotedTokenSeq();
598
- }
599
- }
600
- } else {
601
- s1 = peg$FAILED;
602
- }
603
- if (s1 !== peg$FAILED) {
604
- s2 = peg$parseEndOfSentence();
605
- if (s2 !== peg$FAILED) {
606
- peg$savedPos = s0;
607
- s1 = peg$c3(s1, s2);
608
- s0 = s1;
609
- } else {
610
- peg$currPos = s0;
611
- s0 = peg$FAILED;
612
- }
613
- } else {
614
- peg$currPos = s0;
615
- s0 = peg$FAILED;
616
- }
617
-
618
- return s0;
619
- }
620
-
621
- function peg$parseTokenSeq() {
622
- var s0, s1, s2, s3, s4;
623
-
624
- s0 = peg$currPos;
625
- s1 = [];
626
- s2 = peg$currPos;
627
- s3 = peg$parseToken();
628
- if (s3 !== peg$FAILED) {
629
- s4 = peg$parseWhitespace();
630
- if (s4 !== peg$FAILED) {
631
- s3 = [s3, s4];
632
- s2 = s3;
633
- } else {
634
- peg$currPos = s2;
635
- s2 = peg$FAILED;
636
- }
637
- } else {
638
- peg$currPos = s2;
639
- s2 = peg$FAILED;
640
- }
641
- if (s2 !== peg$FAILED) {
642
- while (s2 !== peg$FAILED) {
643
- s1.push(s2);
644
- s2 = peg$currPos;
645
- s3 = peg$parseToken();
646
- if (s3 !== peg$FAILED) {
647
- s4 = peg$parseWhitespace();
648
- if (s4 !== peg$FAILED) {
649
- s3 = [s3, s4];
650
- s2 = s3;
651
- } else {
652
- peg$currPos = s2;
653
- s2 = peg$FAILED;
654
- }
655
- } else {
656
- peg$currPos = s2;
657
- s2 = peg$FAILED;
658
- }
659
- }
660
- } else {
661
- s1 = peg$FAILED;
662
- }
663
- if (s1 !== peg$FAILED) {
664
- peg$savedPos = s0;
665
- s1 = peg$c4(s1);
666
- }
667
- s0 = s1;
668
-
669
- return s0;
670
- }
671
-
672
- function peg$parseQuotedTokenSeq() {
673
- var s0, s1, s2, s3, s4, s5;
674
-
675
- s0 = peg$currPos;
676
- s1 = peg$parseOpenSymbol();
677
- if (s1 !== peg$FAILED) {
678
- s2 = [];
679
- s3 = peg$currPos;
680
- s4 = peg$parseToken();
681
- if (s4 !== peg$FAILED) {
682
- s5 = peg$parseWhitespace();
683
- if (s5 !== peg$FAILED) {
684
- s4 = [s4, s5];
685
- s3 = s4;
686
- } else {
687
- peg$currPos = s3;
688
- s3 = peg$FAILED;
689
- }
690
- } else {
691
- peg$currPos = s3;
692
- s3 = peg$FAILED;
693
- }
694
- if (s3 !== peg$FAILED) {
695
- while (s3 !== peg$FAILED) {
696
- s2.push(s3);
697
- s3 = peg$currPos;
698
- s4 = peg$parseToken();
699
- if (s4 !== peg$FAILED) {
700
- s5 = peg$parseWhitespace();
701
- if (s5 !== peg$FAILED) {
702
- s4 = [s4, s5];
703
- s3 = s4;
704
- } else {
705
- peg$currPos = s3;
706
- s3 = peg$FAILED;
707
- }
708
- } else {
709
- peg$currPos = s3;
710
- s3 = peg$FAILED;
711
- }
712
- }
713
- } else {
714
- s2 = peg$FAILED;
715
- }
716
- if (s2 !== peg$FAILED) {
717
- s3 = peg$parseEndOfSentence();
718
- if (s3 !== peg$FAILED) {
719
- s4 = peg$parseCloseSymbol();
720
- if (s4 !== peg$FAILED) {
721
- peg$savedPos = s0;
722
- s1 = peg$c5(s1, s2, s3, s4);
723
- s0 = s1;
724
- } else {
725
- peg$currPos = s0;
726
- s0 = peg$FAILED;
727
- }
728
- } else {
729
- peg$currPos = s0;
730
- s0 = peg$FAILED;
731
- }
732
- } else {
733
- peg$currPos = s0;
734
- s0 = peg$FAILED;
735
- }
736
- } else {
737
- peg$currPos = s0;
738
- s0 = peg$FAILED;
739
- }
740
-
741
- return s0;
742
- }
743
-
744
- function peg$parseEndOfSentence() {
745
- var s0, s1, s2;
746
-
747
- s0 = peg$currPos;
748
- s1 = [];
749
- if (peg$c6.test(input.charAt(peg$currPos))) {
750
- s2 = input.charAt(peg$currPos);
751
- peg$currPos++;
752
- } else {
753
- s2 = peg$FAILED;
754
- if (peg$silentFails === 0) { peg$fail(peg$c7); }
755
- }
756
- while (s2 !== peg$FAILED) {
757
- s1.push(s2);
758
- if (peg$c6.test(input.charAt(peg$currPos))) {
759
- s2 = input.charAt(peg$currPos);
760
- peg$currPos++;
761
- } else {
762
- s2 = peg$FAILED;
763
- if (peg$silentFails === 0) { peg$fail(peg$c7); }
764
- }
765
- }
766
- if (s1 !== peg$FAILED) {
767
- peg$savedPos = s0;
768
- s1 = peg$c8();
769
- }
770
- s0 = s1;
771
-
772
- return s0;
773
- }
774
-
775
- function peg$parseWhitespace() {
776
- var s0, s1, s2;
777
-
778
- s0 = peg$currPos;
779
- s1 = [];
780
- if (peg$c9.test(input.charAt(peg$currPos))) {
781
- s2 = input.charAt(peg$currPos);
782
- peg$currPos++;
783
- } else {
784
- s2 = peg$FAILED;
785
- if (peg$silentFails === 0) { peg$fail(peg$c10); }
786
- }
787
- while (s2 !== peg$FAILED) {
788
- s1.push(s2);
789
- if (peg$c9.test(input.charAt(peg$currPos))) {
790
- s2 = input.charAt(peg$currPos);
791
- peg$currPos++;
792
- } else {
793
- s2 = peg$FAILED;
794
- if (peg$silentFails === 0) { peg$fail(peg$c10); }
795
- }
796
- }
797
- if (s1 !== peg$FAILED) {
798
- peg$savedPos = s0;
799
- s1 = peg$c8();
800
- }
801
- s0 = s1;
802
-
803
- return s0;
804
- }
805
-
806
- function peg$parseToken() {
807
- var s0, s1;
808
-
809
- s0 = peg$currPos;
810
- s1 = peg$parseURI();
811
- if (s1 === peg$FAILED) {
812
- s1 = peg$parseEmail();
813
- if (s1 === peg$FAILED) {
814
- s1 = peg$parseNumber();
815
- if (s1 === peg$FAILED) {
816
- s1 = peg$parseAbbreviation();
817
- if (s1 === peg$FAILED) {
818
- s1 = peg$parseWord();
819
- }
820
- }
821
- }
822
- }
823
- if (s1 !== peg$FAILED) {
824
- peg$savedPos = s0;
825
- s1 = peg$c11(s1);
826
- }
827
- s0 = s1;
828
-
829
- return s0;
830
- }
831
-
832
- function peg$parseAbbreviation() {
833
- var s0, s1, s2;
834
-
835
- s0 = peg$currPos;
836
- s1 = [];
837
- if (peg$c12.test(input.charAt(peg$currPos))) {
838
- s2 = input.charAt(peg$currPos);
839
- peg$currPos++;
840
- } else {
841
- s2 = peg$FAILED;
842
- if (peg$silentFails === 0) { peg$fail(peg$c13); }
843
- }
844
- if (s2 !== peg$FAILED) {
845
- while (s2 !== peg$FAILED) {
846
- s1.push(s2);
847
- if (peg$c12.test(input.charAt(peg$currPos))) {
848
- s2 = input.charAt(peg$currPos);
849
- peg$currPos++;
850
- } else {
851
- s2 = peg$FAILED;
852
- if (peg$silentFails === 0) { peg$fail(peg$c13); }
853
- }
854
- }
855
- } else {
856
- s1 = peg$FAILED;
857
- }
858
- if (s1 !== peg$FAILED) {
859
- peg$savedPos = peg$currPos;
860
- s2 = peg$c14(s1);
861
- if (s2) {
862
- s2 = void 0;
863
- } else {
864
- s2 = peg$FAILED;
865
- }
866
- if (s2 !== peg$FAILED) {
867
- peg$savedPos = s0;
868
- s1 = peg$c15(s1);
869
- s0 = s1;
870
- } else {
871
- peg$currPos = s0;
872
- s0 = peg$FAILED;
873
- }
874
- } else {
875
- peg$currPos = s0;
876
- s0 = peg$FAILED;
877
- }
878
-
879
- return s0;
880
- }
881
-
882
- function peg$parseWord() {
883
- var s0, s1, s2;
884
-
885
- s0 = peg$currPos;
886
- s1 = [];
887
- if (peg$c16.test(input.charAt(peg$currPos))) {
888
- s2 = input.charAt(peg$currPos);
889
- peg$currPos++;
890
- } else {
891
- s2 = peg$FAILED;
892
- if (peg$silentFails === 0) { peg$fail(peg$c17); }
893
- }
894
- if (s2 !== peg$FAILED) {
895
- while (s2 !== peg$FAILED) {
896
- s1.push(s2);
897
- if (peg$c16.test(input.charAt(peg$currPos))) {
898
- s2 = input.charAt(peg$currPos);
899
- peg$currPos++;
900
- } else {
901
- s2 = peg$FAILED;
902
- if (peg$silentFails === 0) { peg$fail(peg$c17); }
903
- }
904
- }
905
- } else {
906
- s1 = peg$FAILED;
907
- }
908
- if (s1 !== peg$FAILED) {
909
- peg$savedPos = s0;
910
- s1 = peg$c18();
911
- }
912
- s0 = s1;
913
-
914
- return s0;
915
- }
916
-
917
- function peg$parseNumber() {
918
- var s0, s1, s2, s3, s4, s5;
919
-
920
- s0 = peg$currPos;
921
- s1 = [];
922
- if (peg$c19.test(input.charAt(peg$currPos))) {
923
- s2 = input.charAt(peg$currPos);
924
- peg$currPos++;
925
- } else {
926
- s2 = peg$FAILED;
927
- if (peg$silentFails === 0) { peg$fail(peg$c20); }
928
- }
929
- if (s2 !== peg$FAILED) {
930
- while (s2 !== peg$FAILED) {
931
- s1.push(s2);
932
- if (peg$c19.test(input.charAt(peg$currPos))) {
933
- s2 = input.charAt(peg$currPos);
934
- peg$currPos++;
935
- } else {
936
- s2 = peg$FAILED;
937
- if (peg$silentFails === 0) { peg$fail(peg$c20); }
938
- }
939
- }
940
- } else {
941
- s1 = peg$FAILED;
942
- }
943
- if (s1 !== peg$FAILED) {
944
- s2 = peg$currPos;
945
- if (input.length > peg$currPos) {
946
- s3 = input.charAt(peg$currPos);
947
- peg$currPos++;
948
- } else {
949
- s3 = peg$FAILED;
950
- if (peg$silentFails === 0) { peg$fail(peg$c21); }
951
- }
952
- if (s3 !== peg$FAILED) {
953
- s4 = [];
954
- if (peg$c19.test(input.charAt(peg$currPos))) {
955
- s5 = input.charAt(peg$currPos);
956
- peg$currPos++;
957
- } else {
958
- s5 = peg$FAILED;
959
- if (peg$silentFails === 0) { peg$fail(peg$c20); }
960
- }
961
- if (s5 !== peg$FAILED) {
962
- while (s5 !== peg$FAILED) {
963
- s4.push(s5);
964
- if (peg$c19.test(input.charAt(peg$currPos))) {
965
- s5 = input.charAt(peg$currPos);
966
- peg$currPos++;
967
- } else {
968
- s5 = peg$FAILED;
969
- if (peg$silentFails === 0) { peg$fail(peg$c20); }
970
- }
971
- }
972
- } else {
973
- s4 = peg$FAILED;
974
- }
975
- if (s4 !== peg$FAILED) {
976
- s3 = [s3, s4];
977
- s2 = s3;
978
- } else {
979
- peg$currPos = s2;
980
- s2 = peg$FAILED;
981
- }
982
- } else {
983
- peg$currPos = s2;
984
- s2 = peg$FAILED;
985
- }
986
- if (s2 === peg$FAILED) {
987
- s2 = null;
988
- }
989
- if (s2 !== peg$FAILED) {
990
- s3 = peg$parseCloseSymbol();
991
- if (s3 === peg$FAILED) {
992
- s3 = null;
993
- }
994
- if (s3 !== peg$FAILED) {
995
- peg$savedPos = s0;
996
- s1 = peg$c8();
997
- s0 = s1;
998
- } else {
999
- peg$currPos = s0;
1000
- s0 = peg$FAILED;
1001
- }
1002
- } else {
1003
- peg$currPos = s0;
1004
- s0 = peg$FAILED;
1005
- }
1006
- } else {
1007
- peg$currPos = s0;
1008
- s0 = peg$FAILED;
1009
- }
1010
-
1011
- return s0;
1012
- }
1013
-
1014
- function peg$parseEmail() {
1015
- var s0, s1, s2, s3, s4, s5, s6;
1016
-
1017
- s0 = peg$currPos;
1018
- s1 = [];
1019
- if (peg$c22.test(input.charAt(peg$currPos))) {
1020
- s2 = input.charAt(peg$currPos);
1021
- peg$currPos++;
1022
- } else {
1023
- s2 = peg$FAILED;
1024
- if (peg$silentFails === 0) { peg$fail(peg$c23); }
1025
- }
1026
- if (s2 !== peg$FAILED) {
1027
- while (s2 !== peg$FAILED) {
1028
- s1.push(s2);
1029
- if (peg$c22.test(input.charAt(peg$currPos))) {
1030
- s2 = input.charAt(peg$currPos);
1031
- peg$currPos++;
1032
- } else {
1033
- s2 = peg$FAILED;
1034
- if (peg$silentFails === 0) { peg$fail(peg$c23); }
1035
- }
1036
- }
1037
- } else {
1038
- s1 = peg$FAILED;
1039
- }
1040
- if (s1 !== peg$FAILED) {
1041
- if (peg$c24.test(input.charAt(peg$currPos))) {
1042
- s2 = input.charAt(peg$currPos);
1043
- peg$currPos++;
1044
- } else {
1045
- s2 = peg$FAILED;
1046
- if (peg$silentFails === 0) { peg$fail(peg$c25); }
1047
- }
1048
- if (s2 !== peg$FAILED) {
1049
- s3 = [];
1050
- if (peg$c22.test(input.charAt(peg$currPos))) {
1051
- s4 = input.charAt(peg$currPos);
1052
- peg$currPos++;
1053
- } else {
1054
- s4 = peg$FAILED;
1055
- if (peg$silentFails === 0) { peg$fail(peg$c23); }
1056
- }
1057
- if (s4 !== peg$FAILED) {
1058
- while (s4 !== peg$FAILED) {
1059
- s3.push(s4);
1060
- if (peg$c22.test(input.charAt(peg$currPos))) {
1061
- s4 = input.charAt(peg$currPos);
1062
- peg$currPos++;
1063
- } else {
1064
- s4 = peg$FAILED;
1065
- if (peg$silentFails === 0) { peg$fail(peg$c23); }
1066
- }
1067
- }
1068
- } else {
1069
- s3 = peg$FAILED;
1070
- }
1071
- if (s3 !== peg$FAILED) {
1072
- if (peg$c26.test(input.charAt(peg$currPos))) {
1073
- s4 = input.charAt(peg$currPos);
1074
- peg$currPos++;
1075
- } else {
1076
- s4 = peg$FAILED;
1077
- if (peg$silentFails === 0) { peg$fail(peg$c27); }
1078
- }
1079
- if (s4 !== peg$FAILED) {
1080
- s5 = [];
1081
- if (peg$c22.test(input.charAt(peg$currPos))) {
1082
- s6 = input.charAt(peg$currPos);
1083
- peg$currPos++;
1084
- } else {
1085
- s6 = peg$FAILED;
1086
- if (peg$silentFails === 0) { peg$fail(peg$c23); }
1087
- }
1088
- if (s6 !== peg$FAILED) {
1089
- while (s6 !== peg$FAILED) {
1090
- s5.push(s6);
1091
- if (peg$c22.test(input.charAt(peg$currPos))) {
1092
- s6 = input.charAt(peg$currPos);
1093
- peg$currPos++;
1094
- } else {
1095
- s6 = peg$FAILED;
1096
- if (peg$silentFails === 0) { peg$fail(peg$c23); }
1097
- }
1098
- }
1099
- } else {
1100
- s5 = peg$FAILED;
1101
- }
1102
- if (s5 !== peg$FAILED) {
1103
- peg$savedPos = s0;
1104
- s1 = peg$c8();
1105
- s0 = s1;
1106
- } else {
1107
- peg$currPos = s0;
1108
- s0 = peg$FAILED;
1109
- }
1110
- } else {
1111
- peg$currPos = s0;
1112
- s0 = peg$FAILED;
1113
- }
1114
- } else {
1115
- peg$currPos = s0;
1116
- s0 = peg$FAILED;
1117
- }
1118
- } else {
1119
- peg$currPos = s0;
1120
- s0 = peg$FAILED;
1121
- }
1122
- } else {
1123
- peg$currPos = s0;
1124
- s0 = peg$FAILED;
1125
- }
1126
-
1127
- return s0;
1128
- }
1129
-
1130
- function peg$parseURI() {
1131
- var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
1132
-
1133
- s0 = peg$currPos;
1134
- if (input.substr(peg$currPos, 7) === peg$c28) {
1135
- s1 = peg$c28;
1136
- peg$currPos += 7;
1137
- } else {
1138
- s1 = peg$FAILED;
1139
- if (peg$silentFails === 0) { peg$fail(peg$c29); }
1140
- }
1141
- if (s1 === peg$FAILED) {
1142
- if (input.substr(peg$currPos, 8) === peg$c30) {
1143
- s1 = peg$c30;
1144
- peg$currPos += 8;
1145
- } else {
1146
- s1 = peg$FAILED;
1147
- if (peg$silentFails === 0) { peg$fail(peg$c31); }
1148
- }
1149
- }
1150
- if (s1 === peg$FAILED) {
1151
- s1 = null;
1152
- }
1153
- if (s1 !== peg$FAILED) {
1154
- s2 = [];
1155
- if (peg$c32.test(input.charAt(peg$currPos))) {
1156
- s3 = input.charAt(peg$currPos);
1157
- peg$currPos++;
1158
- } else {
1159
- s3 = peg$FAILED;
1160
- if (peg$silentFails === 0) { peg$fail(peg$c33); }
1161
- }
1162
- if (s3 !== peg$FAILED) {
1163
- while (s3 !== peg$FAILED) {
1164
- s2.push(s3);
1165
- if (peg$c32.test(input.charAt(peg$currPos))) {
1166
- s3 = input.charAt(peg$currPos);
1167
- peg$currPos++;
1168
- } else {
1169
- s3 = peg$FAILED;
1170
- if (peg$silentFails === 0) { peg$fail(peg$c33); }
1171
- }
1172
- }
1173
- } else {
1174
- s2 = peg$FAILED;
1175
- }
1176
- if (s2 !== peg$FAILED) {
1177
- if (peg$c26.test(input.charAt(peg$currPos))) {
1178
- s3 = input.charAt(peg$currPos);
1179
- peg$currPos++;
1180
- } else {
1181
- s3 = peg$FAILED;
1182
- if (peg$silentFails === 0) { peg$fail(peg$c27); }
1183
- }
1184
- if (s3 !== peg$FAILED) {
1185
- s4 = peg$currPos;
1186
- s5 = [];
1187
- if (peg$c32.test(input.charAt(peg$currPos))) {
1188
- s6 = input.charAt(peg$currPos);
1189
- peg$currPos++;
1190
- } else {
1191
- s6 = peg$FAILED;
1192
- if (peg$silentFails === 0) { peg$fail(peg$c33); }
1193
- }
1194
- if (s6 !== peg$FAILED) {
1195
- while (s6 !== peg$FAILED) {
1196
- s5.push(s6);
1197
- if (peg$c32.test(input.charAt(peg$currPos))) {
1198
- s6 = input.charAt(peg$currPos);
1199
- peg$currPos++;
1200
- } else {
1201
- s6 = peg$FAILED;
1202
- if (peg$silentFails === 0) { peg$fail(peg$c33); }
1203
- }
1204
- }
1205
- } else {
1206
- s5 = peg$FAILED;
1207
- }
1208
- if (s5 !== peg$FAILED) {
1209
- if (peg$c26.test(input.charAt(peg$currPos))) {
1210
- s6 = input.charAt(peg$currPos);
1211
- peg$currPos++;
1212
- } else {
1213
- s6 = peg$FAILED;
1214
- if (peg$silentFails === 0) { peg$fail(peg$c27); }
1215
- }
1216
- if (s6 !== peg$FAILED) {
1217
- s5 = [s5, s6];
1218
- s4 = s5;
1219
- } else {
1220
- peg$currPos = s4;
1221
- s4 = peg$FAILED;
1222
- }
1223
- } else {
1224
- peg$currPos = s4;
1225
- s4 = peg$FAILED;
1226
- }
1227
- if (s4 === peg$FAILED) {
1228
- s4 = null;
1229
- }
1230
- if (s4 !== peg$FAILED) {
1231
- s5 = [];
1232
- if (peg$c32.test(input.charAt(peg$currPos))) {
1233
- s6 = input.charAt(peg$currPos);
1234
- peg$currPos++;
1235
- } else {
1236
- s6 = peg$FAILED;
1237
- if (peg$silentFails === 0) { peg$fail(peg$c33); }
1238
- }
1239
- if (s6 !== peg$FAILED) {
1240
- while (s6 !== peg$FAILED) {
1241
- s5.push(s6);
1242
- if (peg$c32.test(input.charAt(peg$currPos))) {
1243
- s6 = input.charAt(peg$currPos);
1244
- peg$currPos++;
1245
- } else {
1246
- s6 = peg$FAILED;
1247
- if (peg$silentFails === 0) { peg$fail(peg$c33); }
1248
- }
1249
- }
1250
- } else {
1251
- s5 = peg$FAILED;
1252
- }
1253
- if (s5 !== peg$FAILED) {
1254
- s6 = [];
1255
- s7 = peg$currPos;
1256
- s8 = [];
1257
- if (peg$c32.test(input.charAt(peg$currPos))) {
1258
- s9 = input.charAt(peg$currPos);
1259
- peg$currPos++;
1260
- } else {
1261
- s9 = peg$FAILED;
1262
- if (peg$silentFails === 0) { peg$fail(peg$c33); }
1263
- }
1264
- if (s9 !== peg$FAILED) {
1265
- while (s9 !== peg$FAILED) {
1266
- s8.push(s9);
1267
- if (peg$c32.test(input.charAt(peg$currPos))) {
1268
- s9 = input.charAt(peg$currPos);
1269
- peg$currPos++;
1270
- } else {
1271
- s9 = peg$FAILED;
1272
- if (peg$silentFails === 0) { peg$fail(peg$c33); }
1273
- }
1274
- }
1275
- } else {
1276
- s8 = peg$FAILED;
1277
- }
1278
- if (s8 !== peg$FAILED) {
1279
- if (peg$c34.test(input.charAt(peg$currPos))) {
1280
- s9 = input.charAt(peg$currPos);
1281
- peg$currPos++;
1282
- } else {
1283
- s9 = peg$FAILED;
1284
- if (peg$silentFails === 0) { peg$fail(peg$c35); }
1285
- }
1286
- if (s9 !== peg$FAILED) {
1287
- s8 = [s8, s9];
1288
- s7 = s8;
1289
- } else {
1290
- peg$currPos = s7;
1291
- s7 = peg$FAILED;
1292
- }
1293
- } else {
1294
- peg$currPos = s7;
1295
- s7 = peg$FAILED;
1296
- }
1297
- while (s7 !== peg$FAILED) {
1298
- s6.push(s7);
1299
- s7 = peg$currPos;
1300
- s8 = [];
1301
- if (peg$c32.test(input.charAt(peg$currPos))) {
1302
- s9 = input.charAt(peg$currPos);
1303
- peg$currPos++;
1304
- } else {
1305
- s9 = peg$FAILED;
1306
- if (peg$silentFails === 0) { peg$fail(peg$c33); }
1307
- }
1308
- if (s9 !== peg$FAILED) {
1309
- while (s9 !== peg$FAILED) {
1310
- s8.push(s9);
1311
- if (peg$c32.test(input.charAt(peg$currPos))) {
1312
- s9 = input.charAt(peg$currPos);
1313
- peg$currPos++;
1314
- } else {
1315
- s9 = peg$FAILED;
1316
- if (peg$silentFails === 0) { peg$fail(peg$c33); }
1317
- }
1318
- }
1319
- } else {
1320
- s8 = peg$FAILED;
1321
- }
1322
- if (s8 !== peg$FAILED) {
1323
- if (peg$c34.test(input.charAt(peg$currPos))) {
1324
- s9 = input.charAt(peg$currPos);
1325
- peg$currPos++;
1326
- } else {
1327
- s9 = peg$FAILED;
1328
- if (peg$silentFails === 0) { peg$fail(peg$c35); }
1329
- }
1330
- if (s9 !== peg$FAILED) {
1331
- s8 = [s8, s9];
1332
- s7 = s8;
1333
- } else {
1334
- peg$currPos = s7;
1335
- s7 = peg$FAILED;
1336
- }
1337
- } else {
1338
- peg$currPos = s7;
1339
- s7 = peg$FAILED;
1340
- }
1341
- }
1342
- if (s6 !== peg$FAILED) {
1343
- peg$savedPos = s0;
1344
- s1 = peg$c36();
1345
- s0 = s1;
1346
- } else {
1347
- peg$currPos = s0;
1348
- s0 = peg$FAILED;
1349
- }
1350
- } else {
1351
- peg$currPos = s0;
1352
- s0 = peg$FAILED;
1353
- }
1354
- } else {
1355
- peg$currPos = s0;
1356
- s0 = peg$FAILED;
1357
- }
1358
- } else {
1359
- peg$currPos = s0;
1360
- s0 = peg$FAILED;
1361
- }
1362
- } else {
1363
- peg$currPos = s0;
1364
- s0 = peg$FAILED;
1365
- }
1366
- } else {
1367
- peg$currPos = s0;
1368
- s0 = peg$FAILED;
1369
- }
1370
-
1371
- return s0;
1372
- }
1373
-
1374
- function peg$parseOpenSymbol() {
1375
- var s0, s1;
1376
-
1377
- s0 = peg$currPos;
1378
- if (peg$c37.test(input.charAt(peg$currPos))) {
1379
- s1 = input.charAt(peg$currPos);
1380
- peg$currPos++;
1381
- } else {
1382
- s1 = peg$FAILED;
1383
- if (peg$silentFails === 0) { peg$fail(peg$c38); }
1384
- }
1385
- if (s1 !== peg$FAILED) {
1386
- peg$savedPos = s0;
1387
- s1 = peg$c8();
1388
- }
1389
- s0 = s1;
1390
-
1391
- return s0;
1392
- }
1393
-
1394
- function peg$parseCloseSymbol() {
1395
- var s0, s1;
1396
-
1397
- s0 = peg$currPos;
1398
- if (peg$c39.test(input.charAt(peg$currPos))) {
1399
- s1 = input.charAt(peg$currPos);
1400
- peg$currPos++;
1401
- } else {
1402
- s1 = peg$FAILED;
1403
- if (peg$silentFails === 0) { peg$fail(peg$c40); }
1404
- }
1405
- if (s1 !== peg$FAILED) {
1406
- peg$savedPos = s0;
1407
- s1 = peg$c8();
1408
- }
1409
- s0 = s1;
1410
-
1411
- return s0;
1412
- }
1413
-
1414
-
1415
- const knownAbbreviations = require("../util/abbreviations_en").knownAbbreviations
1416
-
1417
-
1418
- peg$result = peg$startRuleFunction();
1419
-
1420
- if (peg$result !== peg$FAILED && peg$currPos === input.length) {
1421
- return peg$result;
1422
- } else {
1423
- if (peg$result !== peg$FAILED && peg$currPos < input.length) {
1424
- peg$fail(peg$endExpectation());
1425
- }
1426
-
1427
- throw peg$buildStructuredError(
1428
- peg$maxFailExpected,
1429
- peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,
1430
- peg$maxFailPos < input.length
1431
- ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)
1432
- : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)
1433
- );
1434
- }
1435
- }
1436
-
1437
- module.exports = {
1438
- SyntaxError: peg$SyntaxError,
1439
- parse: peg$parse
1440
- };