@podlite/schema 0.0.13 → 0.0.15

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.
Files changed (101) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/esm/ast-helpers.d.ts +2 -0
  3. package/esm/ast-helpers.js +10 -0
  4. package/esm/ast-helpers.js.map +1 -0
  5. package/esm/ast-inerator.d.ts +6 -0
  6. package/esm/ast-inerator.js +57 -0
  7. package/esm/ast-inerator.js.map +1 -0
  8. package/esm/blocks-helpers.d.ts +32 -0
  9. package/esm/blocks-helpers.js +65 -0
  10. package/esm/blocks-helpers.js.map +1 -0
  11. package/esm/exportAny.d.ts +19 -0
  12. package/esm/exportAny.js +65 -0
  13. package/esm/exportAny.js.map +1 -0
  14. package/esm/exportHtml.d.ts +15 -0
  15. package/esm/exportHtml.js +279 -0
  16. package/esm/exportHtml.js.map +1 -0
  17. package/esm/grammar.d.ts +14 -0
  18. package/esm/grammar.js +6404 -0
  19. package/esm/grammar.js.map +1 -0
  20. package/esm/grammarfc.d.ts +14 -0
  21. package/esm/grammarfc.js +4218 -0
  22. package/esm/grammarfc.js.map +1 -0
  23. package/esm/helpers/config.d.ts +12 -0
  24. package/esm/helpers/config.js +52 -0
  25. package/esm/helpers/config.js.map +1 -0
  26. package/esm/helpers/corePlugins.d.ts +12 -0
  27. package/esm/helpers/corePlugins.js +23 -0
  28. package/esm/helpers/corePlugins.js.map +1 -0
  29. package/esm/helpers/handlers.d.ts +47 -0
  30. package/esm/helpers/handlers.js +107 -0
  31. package/esm/helpers/handlers.js.map +1 -0
  32. package/esm/helpers/ids.d.ts +18 -0
  33. package/esm/helpers/ids.js +69 -0
  34. package/esm/helpers/ids.js.map +1 -0
  35. package/esm/helpers/makeInterator.d.ts +5 -0
  36. package/esm/helpers/makeInterator.js +52 -0
  37. package/esm/helpers/makeInterator.js.map +1 -0
  38. package/esm/helpers/makeQuery.d.ts +47 -0
  39. package/esm/helpers/makeQuery.js +100 -0
  40. package/esm/helpers/makeQuery.js.map +1 -0
  41. package/esm/helpers/makeQuery.test.d.ts +1 -0
  42. package/esm/helpers/makeQuery.test.js +51 -0
  43. package/esm/helpers/makeQuery.test.js.map +1 -0
  44. package/esm/helpers/makeTransformer.d.ts +7 -0
  45. package/esm/helpers/makeTransformer.js +61 -0
  46. package/esm/helpers/makeTransformer.js.map +1 -0
  47. package/esm/helpers/plugins.d.ts +2 -0
  48. package/esm/helpers/plugins.js +23 -0
  49. package/esm/helpers/plugins.js.map +1 -0
  50. package/esm/index.d.ts +82 -0
  51. package/esm/index.js +123 -0
  52. package/esm/index.js.map +1 -0
  53. package/esm/pluggableParser.d.ts +27 -0
  54. package/esm/pluggableParser.js +71 -0
  55. package/esm/pluggableParser.js.map +1 -0
  56. package/esm/plugin-clean-location.d.ts +2 -0
  57. package/esm/plugin-clean-location.js +19 -0
  58. package/esm/plugin-clean-location.js.map +1 -0
  59. package/esm/plugin-defn-fill-term.d.ts +2 -0
  60. package/esm/plugin-defn-fill-term.js +50 -0
  61. package/esm/plugin-defn-fill-term.js.map +1 -0
  62. package/esm/plugin-formatting-codes.d.ts +3 -0
  63. package/esm/plugin-formatting-codes.js +53 -0
  64. package/esm/plugin-formatting-codes.js.map +1 -0
  65. package/esm/plugin-group-defn.d.ts +2 -0
  66. package/esm/plugin-group-defn.js +71 -0
  67. package/esm/plugin-group-defn.js.map +1 -0
  68. package/esm/plugin-group-items.d.ts +2 -0
  69. package/esm/plugin-group-items.js +79 -0
  70. package/esm/plugin-group-items.js.map +1 -0
  71. package/esm/plugin-heading.d.ts +2 -0
  72. package/esm/plugin-heading.js +33 -0
  73. package/esm/plugin-heading.js.map +1 -0
  74. package/esm/plugin-items.d.ts +2 -0
  75. package/esm/plugin-items.js +41 -0
  76. package/esm/plugin-items.js.map +1 -0
  77. package/esm/plugin-tables.d.ts +5 -0
  78. package/esm/plugin-tables.js +141 -0
  79. package/esm/plugin-tables.js.map +1 -0
  80. package/esm/plugin-vmargin.d.ts +3 -0
  81. package/esm/plugin-vmargin.js +29 -0
  82. package/esm/plugin-vmargin.js.map +1 -0
  83. package/esm/query-helpers.d.ts +28 -0
  84. package/esm/query-helpers.js +131 -0
  85. package/esm/query-helpers.js.map +1 -0
  86. package/esm/types.d.ts +342 -0
  87. package/esm/types.js +2 -0
  88. package/esm/types.js.map +1 -0
  89. package/esm/writer.d.ts +30 -0
  90. package/esm/writer.js +85 -0
  91. package/esm/writer.js.map +1 -0
  92. package/esm/writerHtml.d.ts +11 -0
  93. package/esm/writerHtml.js +29 -0
  94. package/esm/writerHtml.js.map +1 -0
  95. package/lib/grammar.js +29 -21
  96. package/lib/grammarfc.js +1098 -243
  97. package/lib/plugin-formatting-codes.js +2 -1
  98. package/lib/types.d.ts +9 -1
  99. package/package.json +11 -8
  100. package/schema/AstTree.json +116 -0
  101. package/schema/PodliteDocument.json +116 -0
package/lib/grammarfc.js CHANGED
@@ -130,27 +130,33 @@ function peg$parse(input, options) {
130
130
  'type': "fcode",
131
131
  name,
132
132
  };
133
- }, peg$c48 = "<", peg$c49 = peg$literalExpectation("<", false), peg$c50 = ">", peg$c51 = peg$literalExpectation(">", false), peg$c52 = function () { return text(); }, peg$c53 = function (text) { return text; }, peg$c54 = function (name) { return name === "C"; }, peg$c55 = "|", peg$c56 = peg$literalExpectation("|", false), peg$c57 = function (name) { return name === "L"; }, peg$c58 = function (name, content, t) { return t; }, peg$c59 = function (name, content, meta) {
133
+ }, peg$c48 = "<", peg$c49 = peg$literalExpectation("<", false), peg$c50 = ">", peg$c51 = peg$literalExpectation(">", false), peg$c52 = function () { return text(); }, peg$c53 = "\xAB", peg$c54 = peg$literalExpectation("\xAB", false), peg$c55 = "\xBB", peg$c56 = peg$literalExpectation("\xBB", false), peg$c57 = function (text) { return text; }, peg$c58 = function (name) { return name.code === "C"; }, peg$c59 = function (name, content, end_tag) { return end_tag === name.end_tag; }, peg$c60 = function (name, content, end_tag) {
134
134
  return {
135
135
  content,
136
136
  'type': "fcode",
137
- name,
137
+ name: name.code,
138
+ };
139
+ }, peg$c61 = "|", peg$c62 = peg$literalExpectation("|", false), peg$c63 = function (text) { return text; }, peg$c64 = function (name) { return name.code === "L"; }, peg$c65 = function (name, content, t) { return t; }, peg$c66 = function (name, content, meta, end_tag) { return end_tag === name.end_tag; }, peg$c67 = function (name, content, meta, end_tag) {
140
+ return {
141
+ content,
142
+ 'type': "fcode",
143
+ name: name.code,
138
144
  meta
139
145
  };
140
- }, peg$c60 = ";", peg$c61 = peg$literalExpectation(";", false), peg$c62 = /^[ \xA0\u2001\t\f\u2008]/, peg$c63 = peg$classExpectation([" ", "\xA0", "\u2001", "\t", "\f", "\u2008"], false, false), peg$c64 = function (code, codes) { return flattenDeep([code, codes]); }, peg$c65 = function (code) { return [code]; }, peg$c66 = function (name) { return name === "X"; }, peg$c67 = function (name, content, entry) {
146
+ }, peg$c68 = ";", peg$c69 = peg$literalExpectation(";", false), peg$c70 = /^[ \xA0\u2001\t\f\u2008]/, peg$c71 = peg$classExpectation([" ", "\xA0", "\u2001", "\t", "\f", "\u2008"], false, false), peg$c72 = function (code, codes) { return flattenDeep([code, codes]); }, peg$c73 = function (code) { return [code]; }, peg$c74 = function (name) { return name === "X"; }, peg$c75 = function (name, content, entry) {
141
147
  return {
142
148
  content,
143
149
  'type': "fcode",
144
150
  name,
145
151
  entry
146
152
  };
147
- }, peg$c68 = function (name) { return name === "S"; }, peg$c69 = function (name) { return name === "Z"; }, peg$c70 = /^[0-9]/, peg$c71 = peg$classExpectation([["0", "9"]], false, false), peg$c72 = "0d", peg$c73 = peg$literalExpectation("0d", false), peg$c74 = function (number) { return parseInt(number, 10); }, peg$c75 = "0o", peg$c76 = peg$literalExpectation("0o", false), peg$c77 = function (number) { return parseInt(number, 8); }, peg$c78 = "0b", peg$c79 = peg$literalExpectation("0b", false), peg$c80 = function (number) { return parseInt(number, 2); }, peg$c81 = "0x", peg$c82 = peg$literalExpectation("0x", false), peg$c83 = /^[0-9A-Fa-f]/, peg$c84 = peg$classExpectation([["0", "9"], ["A", "F"], ["a", "f"]], false, false), peg$c85 = function () { return parseInt(text()); }, peg$c86 = function (number) { return { type: 'number', value: parseInt(number, 10) }; }, peg$c87 = function (name) { return name === "E"; }, peg$c88 = function (name, t) { return flattenDeep(t); }, peg$c89 = function (name, content) {
153
+ }, peg$c76 = function (name) { return name === "S"; }, peg$c77 = function (name) { return name === "Z"; }, peg$c78 = /^[0-9]/, peg$c79 = peg$classExpectation([["0", "9"]], false, false), peg$c80 = "0d", peg$c81 = peg$literalExpectation("0d", false), peg$c82 = function (number) { return parseInt(number, 10); }, peg$c83 = "0o", peg$c84 = peg$literalExpectation("0o", false), peg$c85 = function (number) { return parseInt(number, 8); }, peg$c86 = "0b", peg$c87 = peg$literalExpectation("0b", false), peg$c88 = function (number) { return parseInt(number, 2); }, peg$c89 = "0x", peg$c90 = peg$literalExpectation("0x", false), peg$c91 = /^[0-9A-Fa-f]/, peg$c92 = peg$classExpectation([["0", "9"], ["A", "F"], ["a", "f"]], false, false), peg$c93 = function () { return parseInt(text()); }, peg$c94 = function (number) { return { type: 'number', value: parseInt(number, 10) }; }, peg$c95 = function (name) { return name === "E"; }, peg$c96 = function (name, t) { return flattenDeep(t); }, peg$c97 = function (name, content) {
148
154
  return {
149
155
  content: content ? content : [],
150
156
  'type': "fcode",
151
157
  name
152
158
  };
153
- }, peg$c90 = function (name) { return name; }, peg$c91 = function (name) { return name !== 'C'; }, peg$c92 = function (name, content) { return { content, type: 'fcode', name }; }, peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result;
159
+ }, peg$c98 = function (name) { return name; }, peg$c99 = function (name, begin_tag) { return { code: name, begin_tag, end_tag: get_pair_tag(begin_tag) }; }, peg$c100 = function (name) { return name.code !== 'C'; }, peg$c101 = function (name, content, end_tag) { return end_tag === name.end_tag; }, peg$c102 = function (name, content, end_tag) { return { content, type: 'fcode', name: name.code }; }, peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result;
154
160
  if ("startRule" in options) {
155
161
  if (!(options.startRule in peg$startRuleFunctions)) {
156
162
  throw new Error("Can't start parsing from rule \"" + options.startRule + "\".");
@@ -251,7 +257,7 @@ function peg$parse(input, options) {
251
257
  s0 = [];
252
258
  s1 = peg$parseallowed_rules();
253
259
  if (s1 === peg$FAILED) {
254
- s1 = peg$parsecode();
260
+ s1 = peg$parsecode_2();
255
261
  if (s1 === peg$FAILED) {
256
262
  s1 = peg$parsetext();
257
263
  if (s1 === peg$FAILED) {
@@ -263,7 +269,7 @@ function peg$parse(input, options) {
263
269
  s0.push(s1);
264
270
  s1 = peg$parseallowed_rules();
265
271
  if (s1 === peg$FAILED) {
266
- s1 = peg$parsecode();
272
+ s1 = peg$parsecode_2();
267
273
  if (s1 === peg$FAILED) {
268
274
  s1 = peg$parsetext();
269
275
  if (s1 === peg$FAILED) {
@@ -987,6 +993,93 @@ function peg$parse(input, options) {
987
993
  peg$currPos = s0;
988
994
  s0 = peg$FAILED;
989
995
  }
996
+ if (s0 === peg$FAILED) {
997
+ s0 = peg$currPos;
998
+ s1 = peg$currPos;
999
+ s2 = peg$currPos;
1000
+ peg$silentFails++;
1001
+ s3 = peg$parseallowed_code_C();
1002
+ peg$silentFails--;
1003
+ if (s3 === peg$FAILED) {
1004
+ s2 = void 0;
1005
+ }
1006
+ else {
1007
+ peg$currPos = s2;
1008
+ s2 = peg$FAILED;
1009
+ }
1010
+ if (s2 !== peg$FAILED) {
1011
+ if (input.length > peg$currPos) {
1012
+ s3 = input.charAt(peg$currPos);
1013
+ peg$currPos++;
1014
+ }
1015
+ else {
1016
+ s3 = peg$FAILED;
1017
+ if (peg$silentFails === 0) {
1018
+ peg$fail(peg$c39);
1019
+ }
1020
+ }
1021
+ if (s3 !== peg$FAILED) {
1022
+ s2 = [s2, s3];
1023
+ s1 = s2;
1024
+ }
1025
+ else {
1026
+ peg$currPos = s1;
1027
+ s1 = peg$FAILED;
1028
+ }
1029
+ }
1030
+ else {
1031
+ peg$currPos = s1;
1032
+ s1 = peg$FAILED;
1033
+ }
1034
+ if (s1 !== peg$FAILED) {
1035
+ if (input.charCodeAt(peg$currPos) === 171) {
1036
+ s2 = peg$c53;
1037
+ peg$currPos++;
1038
+ }
1039
+ else {
1040
+ s2 = peg$FAILED;
1041
+ if (peg$silentFails === 0) {
1042
+ peg$fail(peg$c54);
1043
+ }
1044
+ }
1045
+ if (s2 !== peg$FAILED) {
1046
+ s3 = peg$parsenot_code();
1047
+ if (s3 !== peg$FAILED) {
1048
+ if (input.charCodeAt(peg$currPos) === 187) {
1049
+ s4 = peg$c55;
1050
+ peg$currPos++;
1051
+ }
1052
+ else {
1053
+ s4 = peg$FAILED;
1054
+ if (peg$silentFails === 0) {
1055
+ peg$fail(peg$c56);
1056
+ }
1057
+ }
1058
+ if (s4 !== peg$FAILED) {
1059
+ peg$savedPos = s0;
1060
+ s1 = peg$c52();
1061
+ s0 = s1;
1062
+ }
1063
+ else {
1064
+ peg$currPos = s0;
1065
+ s0 = peg$FAILED;
1066
+ }
1067
+ }
1068
+ else {
1069
+ peg$currPos = s0;
1070
+ s0 = peg$FAILED;
1071
+ }
1072
+ }
1073
+ else {
1074
+ peg$currPos = s0;
1075
+ s0 = peg$FAILED;
1076
+ }
1077
+ }
1078
+ else {
1079
+ peg$currPos = s0;
1080
+ s0 = peg$FAILED;
1081
+ }
1082
+ }
990
1083
  return s0;
991
1084
  }
992
1085
  function peg$parsetext_C() {
@@ -1094,9 +1187,110 @@ function peg$parse(input, options) {
1094
1187
  s3 = peg$FAILED;
1095
1188
  }
1096
1189
  if (s3 === peg$FAILED) {
1097
- s3 = peg$parselooks_like_code_C();
1190
+ s3 = peg$currPos;
1191
+ s4 = peg$currPos;
1192
+ s5 = peg$currPos;
1193
+ peg$silentFails++;
1194
+ if (input.charCodeAt(peg$currPos) === 171) {
1195
+ s6 = peg$c53;
1196
+ peg$currPos++;
1197
+ }
1198
+ else {
1199
+ s6 = peg$FAILED;
1200
+ if (peg$silentFails === 0) {
1201
+ peg$fail(peg$c54);
1202
+ }
1203
+ }
1204
+ peg$silentFails--;
1205
+ if (s6 === peg$FAILED) {
1206
+ s5 = void 0;
1207
+ }
1208
+ else {
1209
+ peg$currPos = s5;
1210
+ s5 = peg$FAILED;
1211
+ }
1212
+ if (s5 !== peg$FAILED) {
1213
+ if (input.length > peg$currPos) {
1214
+ s6 = input.charAt(peg$currPos);
1215
+ peg$currPos++;
1216
+ }
1217
+ else {
1218
+ s6 = peg$FAILED;
1219
+ if (peg$silentFails === 0) {
1220
+ peg$fail(peg$c39);
1221
+ }
1222
+ }
1223
+ if (s6 !== peg$FAILED) {
1224
+ s5 = [s5, s6];
1225
+ s4 = s5;
1226
+ }
1227
+ else {
1228
+ peg$currPos = s4;
1229
+ s4 = peg$FAILED;
1230
+ }
1231
+ }
1232
+ else {
1233
+ peg$currPos = s4;
1234
+ s4 = peg$FAILED;
1235
+ }
1236
+ if (s4 === peg$FAILED) {
1237
+ s4 = null;
1238
+ }
1239
+ if (s4 !== peg$FAILED) {
1240
+ if (input.charCodeAt(peg$currPos) === 171) {
1241
+ s5 = peg$c53;
1242
+ peg$currPos++;
1243
+ }
1244
+ else {
1245
+ s5 = peg$FAILED;
1246
+ if (peg$silentFails === 0) {
1247
+ peg$fail(peg$c54);
1248
+ }
1249
+ }
1250
+ if (s5 !== peg$FAILED) {
1251
+ s6 = peg$parsetext_C();
1252
+ if (s6 === peg$FAILED) {
1253
+ s6 = null;
1254
+ }
1255
+ if (s6 !== peg$FAILED) {
1256
+ if (input.charCodeAt(peg$currPos) === 187) {
1257
+ s7 = peg$c55;
1258
+ peg$currPos++;
1259
+ }
1260
+ else {
1261
+ s7 = peg$FAILED;
1262
+ if (peg$silentFails === 0) {
1263
+ peg$fail(peg$c56);
1264
+ }
1265
+ }
1266
+ if (s7 !== peg$FAILED) {
1267
+ s4 = [s4, s5, s6, s7];
1268
+ s3 = s4;
1269
+ }
1270
+ else {
1271
+ peg$currPos = s3;
1272
+ s3 = peg$FAILED;
1273
+ }
1274
+ }
1275
+ else {
1276
+ peg$currPos = s3;
1277
+ s3 = peg$FAILED;
1278
+ }
1279
+ }
1280
+ else {
1281
+ peg$currPos = s3;
1282
+ s3 = peg$FAILED;
1283
+ }
1284
+ }
1285
+ else {
1286
+ peg$currPos = s3;
1287
+ s3 = peg$FAILED;
1288
+ }
1098
1289
  if (s3 === peg$FAILED) {
1099
- s3 = peg$parsenot_code();
1290
+ s3 = peg$parselooks_like_code_C();
1291
+ if (s3 === peg$FAILED) {
1292
+ s3 = peg$parsenot_code();
1293
+ }
1100
1294
  }
1101
1295
  }
1102
1296
  if (s3 !== peg$FAILED) {
@@ -1202,9 +1396,110 @@ function peg$parse(input, options) {
1202
1396
  s3 = peg$FAILED;
1203
1397
  }
1204
1398
  if (s3 === peg$FAILED) {
1205
- s3 = peg$parselooks_like_code_C();
1399
+ s3 = peg$currPos;
1400
+ s4 = peg$currPos;
1401
+ s5 = peg$currPos;
1402
+ peg$silentFails++;
1403
+ if (input.charCodeAt(peg$currPos) === 171) {
1404
+ s6 = peg$c53;
1405
+ peg$currPos++;
1406
+ }
1407
+ else {
1408
+ s6 = peg$FAILED;
1409
+ if (peg$silentFails === 0) {
1410
+ peg$fail(peg$c54);
1411
+ }
1412
+ }
1413
+ peg$silentFails--;
1414
+ if (s6 === peg$FAILED) {
1415
+ s5 = void 0;
1416
+ }
1417
+ else {
1418
+ peg$currPos = s5;
1419
+ s5 = peg$FAILED;
1420
+ }
1421
+ if (s5 !== peg$FAILED) {
1422
+ if (input.length > peg$currPos) {
1423
+ s6 = input.charAt(peg$currPos);
1424
+ peg$currPos++;
1425
+ }
1426
+ else {
1427
+ s6 = peg$FAILED;
1428
+ if (peg$silentFails === 0) {
1429
+ peg$fail(peg$c39);
1430
+ }
1431
+ }
1432
+ if (s6 !== peg$FAILED) {
1433
+ s5 = [s5, s6];
1434
+ s4 = s5;
1435
+ }
1436
+ else {
1437
+ peg$currPos = s4;
1438
+ s4 = peg$FAILED;
1439
+ }
1440
+ }
1441
+ else {
1442
+ peg$currPos = s4;
1443
+ s4 = peg$FAILED;
1444
+ }
1445
+ if (s4 === peg$FAILED) {
1446
+ s4 = null;
1447
+ }
1448
+ if (s4 !== peg$FAILED) {
1449
+ if (input.charCodeAt(peg$currPos) === 171) {
1450
+ s5 = peg$c53;
1451
+ peg$currPos++;
1452
+ }
1453
+ else {
1454
+ s5 = peg$FAILED;
1455
+ if (peg$silentFails === 0) {
1456
+ peg$fail(peg$c54);
1457
+ }
1458
+ }
1459
+ if (s5 !== peg$FAILED) {
1460
+ s6 = peg$parsetext_C();
1461
+ if (s6 === peg$FAILED) {
1462
+ s6 = null;
1463
+ }
1464
+ if (s6 !== peg$FAILED) {
1465
+ if (input.charCodeAt(peg$currPos) === 187) {
1466
+ s7 = peg$c55;
1467
+ peg$currPos++;
1468
+ }
1469
+ else {
1470
+ s7 = peg$FAILED;
1471
+ if (peg$silentFails === 0) {
1472
+ peg$fail(peg$c56);
1473
+ }
1474
+ }
1475
+ if (s7 !== peg$FAILED) {
1476
+ s4 = [s4, s5, s6, s7];
1477
+ s3 = s4;
1478
+ }
1479
+ else {
1480
+ peg$currPos = s3;
1481
+ s3 = peg$FAILED;
1482
+ }
1483
+ }
1484
+ else {
1485
+ peg$currPos = s3;
1486
+ s3 = peg$FAILED;
1487
+ }
1488
+ }
1489
+ else {
1490
+ peg$currPos = s3;
1491
+ s3 = peg$FAILED;
1492
+ }
1493
+ }
1494
+ else {
1495
+ peg$currPos = s3;
1496
+ s3 = peg$FAILED;
1497
+ }
1206
1498
  if (s3 === peg$FAILED) {
1207
- s3 = peg$parsenot_code();
1499
+ s3 = peg$parselooks_like_code_C();
1500
+ if (s3 === peg$FAILED) {
1501
+ s3 = peg$parsenot_code();
1502
+ }
1208
1503
  }
1209
1504
  }
1210
1505
  }
@@ -1220,18 +1515,18 @@ function peg$parse(input, options) {
1220
1515
  }
1221
1516
  if (s1 !== peg$FAILED) {
1222
1517
  peg$savedPos = s0;
1223
- s1 = peg$c53(s1);
1518
+ s1 = peg$c57(s1);
1224
1519
  }
1225
1520
  s0 = s1;
1226
1521
  return s0;
1227
1522
  }
1228
1523
  function peg$parsecode_C() {
1229
- var s0, s1, s2, s3, s4;
1524
+ var s0, s1, s2, s3, s4, s5;
1230
1525
  s0 = peg$currPos;
1231
- s1 = peg$parsestart_code();
1526
+ s1 = peg$parsestart_code_2();
1232
1527
  if (s1 !== peg$FAILED) {
1233
1528
  peg$savedPos = peg$currPos;
1234
- s2 = peg$c54(s1);
1529
+ s2 = peg$c58(s1);
1235
1530
  if (s2) {
1236
1531
  s2 = void 0;
1237
1532
  }
@@ -1253,16 +1548,30 @@ function peg$parse(input, options) {
1253
1548
  if (s3 !== peg$FAILED) {
1254
1549
  s4 = peg$parseend_code();
1255
1550
  if (s4 !== peg$FAILED) {
1256
- peg$savedPos = s0;
1257
- s1 = peg$c42(s1, s3);
1258
- s0 = s1;
1259
- }
1260
- else {
1261
- peg$currPos = s0;
1262
- s0 = peg$FAILED;
1263
- }
1264
- }
1265
- else {
1551
+ peg$savedPos = peg$currPos;
1552
+ s5 = peg$c59(s1, s3, s4);
1553
+ if (s5) {
1554
+ s5 = void 0;
1555
+ }
1556
+ else {
1557
+ s5 = peg$FAILED;
1558
+ }
1559
+ if (s5 !== peg$FAILED) {
1560
+ peg$savedPos = s0;
1561
+ s1 = peg$c60(s1, s3, s4);
1562
+ s0 = s1;
1563
+ }
1564
+ else {
1565
+ peg$currPos = s0;
1566
+ s0 = peg$FAILED;
1567
+ }
1568
+ }
1569
+ else {
1570
+ peg$currPos = s0;
1571
+ s0 = peg$FAILED;
1572
+ }
1573
+ }
1574
+ else {
1266
1575
  peg$currPos = s0;
1267
1576
  s0 = peg$FAILED;
1268
1577
  }
@@ -1281,57 +1590,122 @@ function peg$parse(input, options) {
1281
1590
  function peg$parseseparator() {
1282
1591
  var s0;
1283
1592
  if (input.charCodeAt(peg$currPos) === 124) {
1284
- s0 = peg$c55;
1593
+ s0 = peg$c61;
1285
1594
  peg$currPos++;
1286
1595
  }
1287
1596
  else {
1288
1597
  s0 = peg$FAILED;
1289
1598
  if (peg$silentFails === 0) {
1290
- peg$fail(peg$c56);
1599
+ peg$fail(peg$c62);
1291
1600
  }
1292
1601
  }
1293
1602
  return s0;
1294
1603
  }
1295
1604
  function peg$parsetext_L() {
1296
- var s0, s1, s2, s3, s4, s5, s6, s7;
1605
+ var s0, s1, s2, s3, s4, s5, s6, s7, s8;
1297
1606
  s0 = peg$currPos;
1298
- s1 = [];
1299
- s2 = peg$currPos;
1607
+ s1 = peg$currPos;
1608
+ s2 = [];
1300
1609
  s3 = peg$currPos;
1301
1610
  s4 = peg$currPos;
1611
+ s5 = peg$currPos;
1302
1612
  peg$silentFails++;
1303
1613
  if (input.charCodeAt(peg$currPos) === 60) {
1304
- s5 = peg$c48;
1614
+ s6 = peg$c48;
1305
1615
  peg$currPos++;
1306
1616
  }
1307
1617
  else {
1308
- s5 = peg$FAILED;
1618
+ s6 = peg$FAILED;
1309
1619
  if (peg$silentFails === 0) {
1310
1620
  peg$fail(peg$c49);
1311
1621
  }
1312
1622
  }
1313
1623
  peg$silentFails--;
1314
- if (s5 === peg$FAILED) {
1315
- s4 = void 0;
1624
+ if (s6 === peg$FAILED) {
1625
+ s5 = void 0;
1626
+ }
1627
+ else {
1628
+ peg$currPos = s5;
1629
+ s5 = peg$FAILED;
1630
+ }
1631
+ if (s5 !== peg$FAILED) {
1632
+ s6 = peg$currPos;
1633
+ peg$silentFails++;
1634
+ s7 = peg$parseallowed_code();
1635
+ peg$silentFails--;
1636
+ if (s7 === peg$FAILED) {
1637
+ s6 = void 0;
1638
+ }
1639
+ else {
1640
+ peg$currPos = s6;
1641
+ s6 = peg$FAILED;
1642
+ }
1643
+ if (s6 !== peg$FAILED) {
1644
+ if (input.length > peg$currPos) {
1645
+ s7 = input.charAt(peg$currPos);
1646
+ peg$currPos++;
1647
+ }
1648
+ else {
1649
+ s7 = peg$FAILED;
1650
+ if (peg$silentFails === 0) {
1651
+ peg$fail(peg$c39);
1652
+ }
1653
+ }
1654
+ if (s7 !== peg$FAILED) {
1655
+ s5 = [s5, s6, s7];
1656
+ s4 = s5;
1657
+ }
1658
+ else {
1659
+ peg$currPos = s4;
1660
+ s4 = peg$FAILED;
1661
+ }
1662
+ }
1663
+ else {
1664
+ peg$currPos = s4;
1665
+ s4 = peg$FAILED;
1666
+ }
1316
1667
  }
1317
1668
  else {
1318
1669
  peg$currPos = s4;
1319
1670
  s4 = peg$FAILED;
1320
1671
  }
1321
1672
  if (s4 !== peg$FAILED) {
1322
- if (input.length > peg$currPos) {
1323
- s5 = input.charAt(peg$currPos);
1673
+ if (input.charCodeAt(peg$currPos) === 60) {
1674
+ s5 = peg$c48;
1324
1675
  peg$currPos++;
1325
1676
  }
1326
1677
  else {
1327
1678
  s5 = peg$FAILED;
1328
1679
  if (peg$silentFails === 0) {
1329
- peg$fail(peg$c39);
1680
+ peg$fail(peg$c49);
1330
1681
  }
1331
1682
  }
1332
1683
  if (s5 !== peg$FAILED) {
1333
- s4 = [s4, s5];
1334
- s3 = s4;
1684
+ s6 = peg$parsetext_L();
1685
+ if (s6 !== peg$FAILED) {
1686
+ if (input.charCodeAt(peg$currPos) === 62) {
1687
+ s7 = peg$c50;
1688
+ peg$currPos++;
1689
+ }
1690
+ else {
1691
+ s7 = peg$FAILED;
1692
+ if (peg$silentFails === 0) {
1693
+ peg$fail(peg$c51);
1694
+ }
1695
+ }
1696
+ if (s7 !== peg$FAILED) {
1697
+ s4 = [s4, s5, s6, s7];
1698
+ s3 = s4;
1699
+ }
1700
+ else {
1701
+ peg$currPos = s3;
1702
+ s3 = peg$FAILED;
1703
+ }
1704
+ }
1705
+ else {
1706
+ peg$currPos = s3;
1707
+ s3 = peg$FAILED;
1708
+ }
1335
1709
  }
1336
1710
  else {
1337
1711
  peg$currPos = s3;
@@ -1342,70 +1716,125 @@ function peg$parse(input, options) {
1342
1716
  peg$currPos = s3;
1343
1717
  s3 = peg$FAILED;
1344
1718
  }
1345
- if (s3 !== peg$FAILED) {
1346
- if (input.charCodeAt(peg$currPos) === 60) {
1347
- s4 = peg$c48;
1719
+ if (s3 === peg$FAILED) {
1720
+ s3 = peg$currPos;
1721
+ s4 = peg$currPos;
1722
+ s5 = peg$currPos;
1723
+ peg$silentFails++;
1724
+ if (input.charCodeAt(peg$currPos) === 171) {
1725
+ s6 = peg$c53;
1348
1726
  peg$currPos++;
1349
1727
  }
1350
1728
  else {
1351
- s4 = peg$FAILED;
1729
+ s6 = peg$FAILED;
1352
1730
  if (peg$silentFails === 0) {
1353
- peg$fail(peg$c49);
1731
+ peg$fail(peg$c54);
1354
1732
  }
1355
1733
  }
1356
- if (s4 !== peg$FAILED) {
1357
- s5 = peg$parsetext_L();
1358
- if (s5 !== peg$FAILED) {
1359
- if (input.charCodeAt(peg$currPos) === 62) {
1360
- s6 = peg$c50;
1734
+ peg$silentFails--;
1735
+ if (s6 === peg$FAILED) {
1736
+ s5 = void 0;
1737
+ }
1738
+ else {
1739
+ peg$currPos = s5;
1740
+ s5 = peg$FAILED;
1741
+ }
1742
+ if (s5 !== peg$FAILED) {
1743
+ s6 = peg$currPos;
1744
+ peg$silentFails++;
1745
+ s7 = peg$parseallowed_code();
1746
+ peg$silentFails--;
1747
+ if (s7 === peg$FAILED) {
1748
+ s6 = void 0;
1749
+ }
1750
+ else {
1751
+ peg$currPos = s6;
1752
+ s6 = peg$FAILED;
1753
+ }
1754
+ if (s6 !== peg$FAILED) {
1755
+ if (input.length > peg$currPos) {
1756
+ s7 = input.charAt(peg$currPos);
1361
1757
  peg$currPos++;
1362
1758
  }
1363
1759
  else {
1364
- s6 = peg$FAILED;
1760
+ s7 = peg$FAILED;
1365
1761
  if (peg$silentFails === 0) {
1366
- peg$fail(peg$c51);
1762
+ peg$fail(peg$c39);
1367
1763
  }
1368
1764
  }
1369
- if (s6 !== peg$FAILED) {
1370
- s3 = [s3, s4, s5, s6];
1371
- s2 = s3;
1765
+ if (s7 !== peg$FAILED) {
1766
+ s5 = [s5, s6, s7];
1767
+ s4 = s5;
1372
1768
  }
1373
1769
  else {
1374
- peg$currPos = s2;
1375
- s2 = peg$FAILED;
1770
+ peg$currPos = s4;
1771
+ s4 = peg$FAILED;
1376
1772
  }
1377
1773
  }
1378
1774
  else {
1379
- peg$currPos = s2;
1380
- s2 = peg$FAILED;
1775
+ peg$currPos = s4;
1776
+ s4 = peg$FAILED;
1381
1777
  }
1382
1778
  }
1383
1779
  else {
1384
- peg$currPos = s2;
1385
- s2 = peg$FAILED;
1780
+ peg$currPos = s4;
1781
+ s4 = peg$FAILED;
1386
1782
  }
1387
- }
1388
- else {
1389
- peg$currPos = s2;
1390
- s2 = peg$FAILED;
1391
- }
1392
- if (s2 === peg$FAILED) {
1393
- s2 = peg$currPos;
1394
- s3 = peg$currPos;
1395
- peg$silentFails++;
1396
- s4 = peg$parseseparator();
1397
- peg$silentFails--;
1398
- if (s4 === peg$FAILED) {
1399
- s3 = void 0;
1783
+ if (s4 !== peg$FAILED) {
1784
+ if (input.charCodeAt(peg$currPos) === 171) {
1785
+ s5 = peg$c53;
1786
+ peg$currPos++;
1787
+ }
1788
+ else {
1789
+ s5 = peg$FAILED;
1790
+ if (peg$silentFails === 0) {
1791
+ peg$fail(peg$c54);
1792
+ }
1793
+ }
1794
+ if (s5 !== peg$FAILED) {
1795
+ s6 = peg$parsetext_L();
1796
+ if (s6 === peg$FAILED) {
1797
+ s6 = null;
1798
+ }
1799
+ if (s6 !== peg$FAILED) {
1800
+ if (input.charCodeAt(peg$currPos) === 187) {
1801
+ s7 = peg$c55;
1802
+ peg$currPos++;
1803
+ }
1804
+ else {
1805
+ s7 = peg$FAILED;
1806
+ if (peg$silentFails === 0) {
1807
+ peg$fail(peg$c56);
1808
+ }
1809
+ }
1810
+ if (s7 !== peg$FAILED) {
1811
+ s4 = [s4, s5, s6, s7];
1812
+ s3 = s4;
1813
+ }
1814
+ else {
1815
+ peg$currPos = s3;
1816
+ s3 = peg$FAILED;
1817
+ }
1818
+ }
1819
+ else {
1820
+ peg$currPos = s3;
1821
+ s3 = peg$FAILED;
1822
+ }
1823
+ }
1824
+ else {
1825
+ peg$currPos = s3;
1826
+ s3 = peg$FAILED;
1827
+ }
1400
1828
  }
1401
1829
  else {
1402
1830
  peg$currPos = s3;
1403
1831
  s3 = peg$FAILED;
1404
1832
  }
1405
- if (s3 !== peg$FAILED) {
1833
+ if (s3 === peg$FAILED) {
1834
+ s3 = peg$currPos;
1406
1835
  s4 = peg$currPos;
1407
1836
  peg$silentFails++;
1408
- s5 = peg$parseend_code();
1837
+ s5 = peg$parseseparator();
1409
1838
  peg$silentFails--;
1410
1839
  if (s5 === peg$FAILED) {
1411
1840
  s4 = void 0;
@@ -1417,7 +1846,7 @@ function peg$parse(input, options) {
1417
1846
  if (s4 !== peg$FAILED) {
1418
1847
  s5 = peg$currPos;
1419
1848
  peg$silentFails++;
1420
- s6 = peg$parsestart_code();
1849
+ s6 = peg$parseend_code();
1421
1850
  peg$silentFails--;
1422
1851
  if (s6 === peg$FAILED) {
1423
1852
  s5 = void 0;
@@ -1429,7 +1858,7 @@ function peg$parse(input, options) {
1429
1858
  if (s5 !== peg$FAILED) {
1430
1859
  s6 = peg$currPos;
1431
1860
  peg$silentFails++;
1432
- s7 = peg$parselooks_like_code();
1861
+ s7 = peg$parsestart_code();
1433
1862
  peg$silentFails--;
1434
1863
  if (s7 === peg$FAILED) {
1435
1864
  s6 = void 0;
@@ -1439,84 +1868,161 @@ function peg$parse(input, options) {
1439
1868
  s6 = peg$FAILED;
1440
1869
  }
1441
1870
  if (s6 !== peg$FAILED) {
1442
- if (input.length > peg$currPos) {
1443
- s7 = input.charAt(peg$currPos);
1444
- peg$currPos++;
1871
+ s7 = peg$currPos;
1872
+ peg$silentFails++;
1873
+ s8 = peg$parselooks_like_code();
1874
+ peg$silentFails--;
1875
+ if (s8 === peg$FAILED) {
1876
+ s7 = void 0;
1445
1877
  }
1446
1878
  else {
1879
+ peg$currPos = s7;
1447
1880
  s7 = peg$FAILED;
1448
- if (peg$silentFails === 0) {
1449
- peg$fail(peg$c39);
1450
- }
1451
1881
  }
1452
1882
  if (s7 !== peg$FAILED) {
1453
- s3 = [s3, s4, s5, s6, s7];
1454
- s2 = s3;
1883
+ if (input.length > peg$currPos) {
1884
+ s8 = input.charAt(peg$currPos);
1885
+ peg$currPos++;
1886
+ }
1887
+ else {
1888
+ s8 = peg$FAILED;
1889
+ if (peg$silentFails === 0) {
1890
+ peg$fail(peg$c39);
1891
+ }
1892
+ }
1893
+ if (s8 !== peg$FAILED) {
1894
+ s4 = [s4, s5, s6, s7, s8];
1895
+ s3 = s4;
1896
+ }
1897
+ else {
1898
+ peg$currPos = s3;
1899
+ s3 = peg$FAILED;
1900
+ }
1455
1901
  }
1456
1902
  else {
1457
- peg$currPos = s2;
1458
- s2 = peg$FAILED;
1903
+ peg$currPos = s3;
1904
+ s3 = peg$FAILED;
1459
1905
  }
1460
1906
  }
1461
1907
  else {
1462
- peg$currPos = s2;
1463
- s2 = peg$FAILED;
1908
+ peg$currPos = s3;
1909
+ s3 = peg$FAILED;
1464
1910
  }
1465
1911
  }
1466
1912
  else {
1467
- peg$currPos = s2;
1468
- s2 = peg$FAILED;
1913
+ peg$currPos = s3;
1914
+ s3 = peg$FAILED;
1469
1915
  }
1470
1916
  }
1471
1917
  else {
1472
- peg$currPos = s2;
1473
- s2 = peg$FAILED;
1918
+ peg$currPos = s3;
1919
+ s3 = peg$FAILED;
1474
1920
  }
1475
1921
  }
1476
- else {
1477
- peg$currPos = s2;
1478
- s2 = peg$FAILED;
1479
- }
1480
1922
  }
1481
- if (s2 !== peg$FAILED) {
1482
- while (s2 !== peg$FAILED) {
1483
- s1.push(s2);
1484
- s2 = peg$currPos;
1923
+ if (s3 !== peg$FAILED) {
1924
+ while (s3 !== peg$FAILED) {
1925
+ s2.push(s3);
1485
1926
  s3 = peg$currPos;
1486
1927
  s4 = peg$currPos;
1928
+ s5 = peg$currPos;
1487
1929
  peg$silentFails++;
1488
1930
  if (input.charCodeAt(peg$currPos) === 60) {
1489
- s5 = peg$c48;
1931
+ s6 = peg$c48;
1490
1932
  peg$currPos++;
1491
1933
  }
1492
1934
  else {
1493
- s5 = peg$FAILED;
1935
+ s6 = peg$FAILED;
1494
1936
  if (peg$silentFails === 0) {
1495
1937
  peg$fail(peg$c49);
1496
1938
  }
1497
1939
  }
1498
1940
  peg$silentFails--;
1499
- if (s5 === peg$FAILED) {
1500
- s4 = void 0;
1941
+ if (s6 === peg$FAILED) {
1942
+ s5 = void 0;
1943
+ }
1944
+ else {
1945
+ peg$currPos = s5;
1946
+ s5 = peg$FAILED;
1947
+ }
1948
+ if (s5 !== peg$FAILED) {
1949
+ s6 = peg$currPos;
1950
+ peg$silentFails++;
1951
+ s7 = peg$parseallowed_code();
1952
+ peg$silentFails--;
1953
+ if (s7 === peg$FAILED) {
1954
+ s6 = void 0;
1955
+ }
1956
+ else {
1957
+ peg$currPos = s6;
1958
+ s6 = peg$FAILED;
1959
+ }
1960
+ if (s6 !== peg$FAILED) {
1961
+ if (input.length > peg$currPos) {
1962
+ s7 = input.charAt(peg$currPos);
1963
+ peg$currPos++;
1964
+ }
1965
+ else {
1966
+ s7 = peg$FAILED;
1967
+ if (peg$silentFails === 0) {
1968
+ peg$fail(peg$c39);
1969
+ }
1970
+ }
1971
+ if (s7 !== peg$FAILED) {
1972
+ s5 = [s5, s6, s7];
1973
+ s4 = s5;
1974
+ }
1975
+ else {
1976
+ peg$currPos = s4;
1977
+ s4 = peg$FAILED;
1978
+ }
1979
+ }
1980
+ else {
1981
+ peg$currPos = s4;
1982
+ s4 = peg$FAILED;
1983
+ }
1501
1984
  }
1502
1985
  else {
1503
1986
  peg$currPos = s4;
1504
1987
  s4 = peg$FAILED;
1505
1988
  }
1506
1989
  if (s4 !== peg$FAILED) {
1507
- if (input.length > peg$currPos) {
1508
- s5 = input.charAt(peg$currPos);
1990
+ if (input.charCodeAt(peg$currPos) === 60) {
1991
+ s5 = peg$c48;
1509
1992
  peg$currPos++;
1510
1993
  }
1511
1994
  else {
1512
1995
  s5 = peg$FAILED;
1513
1996
  if (peg$silentFails === 0) {
1514
- peg$fail(peg$c39);
1997
+ peg$fail(peg$c49);
1515
1998
  }
1516
1999
  }
1517
2000
  if (s5 !== peg$FAILED) {
1518
- s4 = [s4, s5];
1519
- s3 = s4;
2001
+ s6 = peg$parsetext_L();
2002
+ if (s6 !== peg$FAILED) {
2003
+ if (input.charCodeAt(peg$currPos) === 62) {
2004
+ s7 = peg$c50;
2005
+ peg$currPos++;
2006
+ }
2007
+ else {
2008
+ s7 = peg$FAILED;
2009
+ if (peg$silentFails === 0) {
2010
+ peg$fail(peg$c51);
2011
+ }
2012
+ }
2013
+ if (s7 !== peg$FAILED) {
2014
+ s4 = [s4, s5, s6, s7];
2015
+ s3 = s4;
2016
+ }
2017
+ else {
2018
+ peg$currPos = s3;
2019
+ s3 = peg$FAILED;
2020
+ }
2021
+ }
2022
+ else {
2023
+ peg$currPos = s3;
2024
+ s3 = peg$FAILED;
2025
+ }
1520
2026
  }
1521
2027
  else {
1522
2028
  peg$currPos = s3;
@@ -1527,70 +2033,125 @@ function peg$parse(input, options) {
1527
2033
  peg$currPos = s3;
1528
2034
  s3 = peg$FAILED;
1529
2035
  }
1530
- if (s3 !== peg$FAILED) {
1531
- if (input.charCodeAt(peg$currPos) === 60) {
1532
- s4 = peg$c48;
2036
+ if (s3 === peg$FAILED) {
2037
+ s3 = peg$currPos;
2038
+ s4 = peg$currPos;
2039
+ s5 = peg$currPos;
2040
+ peg$silentFails++;
2041
+ if (input.charCodeAt(peg$currPos) === 171) {
2042
+ s6 = peg$c53;
1533
2043
  peg$currPos++;
1534
2044
  }
1535
2045
  else {
1536
- s4 = peg$FAILED;
2046
+ s6 = peg$FAILED;
1537
2047
  if (peg$silentFails === 0) {
1538
- peg$fail(peg$c49);
2048
+ peg$fail(peg$c54);
1539
2049
  }
1540
2050
  }
1541
- if (s4 !== peg$FAILED) {
1542
- s5 = peg$parsetext_L();
1543
- if (s5 !== peg$FAILED) {
1544
- if (input.charCodeAt(peg$currPos) === 62) {
1545
- s6 = peg$c50;
2051
+ peg$silentFails--;
2052
+ if (s6 === peg$FAILED) {
2053
+ s5 = void 0;
2054
+ }
2055
+ else {
2056
+ peg$currPos = s5;
2057
+ s5 = peg$FAILED;
2058
+ }
2059
+ if (s5 !== peg$FAILED) {
2060
+ s6 = peg$currPos;
2061
+ peg$silentFails++;
2062
+ s7 = peg$parseallowed_code();
2063
+ peg$silentFails--;
2064
+ if (s7 === peg$FAILED) {
2065
+ s6 = void 0;
2066
+ }
2067
+ else {
2068
+ peg$currPos = s6;
2069
+ s6 = peg$FAILED;
2070
+ }
2071
+ if (s6 !== peg$FAILED) {
2072
+ if (input.length > peg$currPos) {
2073
+ s7 = input.charAt(peg$currPos);
1546
2074
  peg$currPos++;
1547
2075
  }
1548
2076
  else {
1549
- s6 = peg$FAILED;
2077
+ s7 = peg$FAILED;
1550
2078
  if (peg$silentFails === 0) {
1551
- peg$fail(peg$c51);
2079
+ peg$fail(peg$c39);
1552
2080
  }
1553
2081
  }
1554
- if (s6 !== peg$FAILED) {
1555
- s3 = [s3, s4, s5, s6];
1556
- s2 = s3;
2082
+ if (s7 !== peg$FAILED) {
2083
+ s5 = [s5, s6, s7];
2084
+ s4 = s5;
1557
2085
  }
1558
2086
  else {
1559
- peg$currPos = s2;
1560
- s2 = peg$FAILED;
2087
+ peg$currPos = s4;
2088
+ s4 = peg$FAILED;
1561
2089
  }
1562
2090
  }
1563
2091
  else {
1564
- peg$currPos = s2;
1565
- s2 = peg$FAILED;
2092
+ peg$currPos = s4;
2093
+ s4 = peg$FAILED;
1566
2094
  }
1567
2095
  }
1568
2096
  else {
1569
- peg$currPos = s2;
1570
- s2 = peg$FAILED;
2097
+ peg$currPos = s4;
2098
+ s4 = peg$FAILED;
1571
2099
  }
1572
- }
1573
- else {
1574
- peg$currPos = s2;
1575
- s2 = peg$FAILED;
1576
- }
1577
- if (s2 === peg$FAILED) {
1578
- s2 = peg$currPos;
1579
- s3 = peg$currPos;
1580
- peg$silentFails++;
1581
- s4 = peg$parseseparator();
1582
- peg$silentFails--;
1583
- if (s4 === peg$FAILED) {
1584
- s3 = void 0;
2100
+ if (s4 !== peg$FAILED) {
2101
+ if (input.charCodeAt(peg$currPos) === 171) {
2102
+ s5 = peg$c53;
2103
+ peg$currPos++;
2104
+ }
2105
+ else {
2106
+ s5 = peg$FAILED;
2107
+ if (peg$silentFails === 0) {
2108
+ peg$fail(peg$c54);
2109
+ }
2110
+ }
2111
+ if (s5 !== peg$FAILED) {
2112
+ s6 = peg$parsetext_L();
2113
+ if (s6 === peg$FAILED) {
2114
+ s6 = null;
2115
+ }
2116
+ if (s6 !== peg$FAILED) {
2117
+ if (input.charCodeAt(peg$currPos) === 187) {
2118
+ s7 = peg$c55;
2119
+ peg$currPos++;
2120
+ }
2121
+ else {
2122
+ s7 = peg$FAILED;
2123
+ if (peg$silentFails === 0) {
2124
+ peg$fail(peg$c56);
2125
+ }
2126
+ }
2127
+ if (s7 !== peg$FAILED) {
2128
+ s4 = [s4, s5, s6, s7];
2129
+ s3 = s4;
2130
+ }
2131
+ else {
2132
+ peg$currPos = s3;
2133
+ s3 = peg$FAILED;
2134
+ }
2135
+ }
2136
+ else {
2137
+ peg$currPos = s3;
2138
+ s3 = peg$FAILED;
2139
+ }
2140
+ }
2141
+ else {
2142
+ peg$currPos = s3;
2143
+ s3 = peg$FAILED;
2144
+ }
1585
2145
  }
1586
2146
  else {
1587
2147
  peg$currPos = s3;
1588
2148
  s3 = peg$FAILED;
1589
2149
  }
1590
- if (s3 !== peg$FAILED) {
2150
+ if (s3 === peg$FAILED) {
2151
+ s3 = peg$currPos;
1591
2152
  s4 = peg$currPos;
1592
2153
  peg$silentFails++;
1593
- s5 = peg$parseend_code();
2154
+ s5 = peg$parseseparator();
1594
2155
  peg$silentFails--;
1595
2156
  if (s5 === peg$FAILED) {
1596
2157
  s4 = void 0;
@@ -1602,7 +2163,7 @@ function peg$parse(input, options) {
1602
2163
  if (s4 !== peg$FAILED) {
1603
2164
  s5 = peg$currPos;
1604
2165
  peg$silentFails++;
1605
- s6 = peg$parsestart_code();
2166
+ s6 = peg$parseend_code();
1606
2167
  peg$silentFails--;
1607
2168
  if (s6 === peg$FAILED) {
1608
2169
  s5 = void 0;
@@ -1614,7 +2175,7 @@ function peg$parse(input, options) {
1614
2175
  if (s5 !== peg$FAILED) {
1615
2176
  s6 = peg$currPos;
1616
2177
  peg$silentFails++;
1617
- s7 = peg$parselooks_like_code();
2178
+ s7 = peg$parsestart_code();
1618
2179
  peg$silentFails--;
1619
2180
  if (s7 === peg$FAILED) {
1620
2181
  s6 = void 0;
@@ -1624,65 +2185,83 @@ function peg$parse(input, options) {
1624
2185
  s6 = peg$FAILED;
1625
2186
  }
1626
2187
  if (s6 !== peg$FAILED) {
1627
- if (input.length > peg$currPos) {
1628
- s7 = input.charAt(peg$currPos);
1629
- peg$currPos++;
2188
+ s7 = peg$currPos;
2189
+ peg$silentFails++;
2190
+ s8 = peg$parselooks_like_code();
2191
+ peg$silentFails--;
2192
+ if (s8 === peg$FAILED) {
2193
+ s7 = void 0;
1630
2194
  }
1631
2195
  else {
2196
+ peg$currPos = s7;
1632
2197
  s7 = peg$FAILED;
1633
- if (peg$silentFails === 0) {
1634
- peg$fail(peg$c39);
1635
- }
1636
2198
  }
1637
2199
  if (s7 !== peg$FAILED) {
1638
- s3 = [s3, s4, s5, s6, s7];
1639
- s2 = s3;
2200
+ if (input.length > peg$currPos) {
2201
+ s8 = input.charAt(peg$currPos);
2202
+ peg$currPos++;
2203
+ }
2204
+ else {
2205
+ s8 = peg$FAILED;
2206
+ if (peg$silentFails === 0) {
2207
+ peg$fail(peg$c39);
2208
+ }
2209
+ }
2210
+ if (s8 !== peg$FAILED) {
2211
+ s4 = [s4, s5, s6, s7, s8];
2212
+ s3 = s4;
2213
+ }
2214
+ else {
2215
+ peg$currPos = s3;
2216
+ s3 = peg$FAILED;
2217
+ }
1640
2218
  }
1641
2219
  else {
1642
- peg$currPos = s2;
1643
- s2 = peg$FAILED;
2220
+ peg$currPos = s3;
2221
+ s3 = peg$FAILED;
1644
2222
  }
1645
2223
  }
1646
2224
  else {
1647
- peg$currPos = s2;
1648
- s2 = peg$FAILED;
2225
+ peg$currPos = s3;
2226
+ s3 = peg$FAILED;
1649
2227
  }
1650
2228
  }
1651
2229
  else {
1652
- peg$currPos = s2;
1653
- s2 = peg$FAILED;
2230
+ peg$currPos = s3;
2231
+ s3 = peg$FAILED;
1654
2232
  }
1655
2233
  }
1656
- else {
1657
- peg$currPos = s2;
1658
- s2 = peg$FAILED;
2234
+ else {
2235
+ peg$currPos = s3;
2236
+ s3 = peg$FAILED;
1659
2237
  }
1660
2238
  }
1661
- else {
1662
- peg$currPos = s2;
1663
- s2 = peg$FAILED;
1664
- }
1665
2239
  }
1666
2240
  }
1667
2241
  }
1668
2242
  else {
1669
- s1 = peg$FAILED;
2243
+ s2 = peg$FAILED;
1670
2244
  }
1671
- if (s1 !== peg$FAILED) {
1672
- s0 = input.substring(s0, peg$currPos);
2245
+ if (s2 !== peg$FAILED) {
2246
+ s1 = input.substring(s1, peg$currPos);
1673
2247
  }
1674
2248
  else {
1675
- s0 = s1;
2249
+ s1 = s2;
2250
+ }
2251
+ if (s1 !== peg$FAILED) {
2252
+ peg$savedPos = s0;
2253
+ s1 = peg$c63(s1);
1676
2254
  }
2255
+ s0 = s1;
1677
2256
  return s0;
1678
2257
  }
1679
2258
  function peg$parsecode_L() {
1680
2259
  var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
1681
2260
  s0 = peg$currPos;
1682
- s1 = peg$parsestart_code();
2261
+ s1 = peg$parsestart_code_2();
1683
2262
  if (s1 !== peg$FAILED) {
1684
2263
  peg$savedPos = peg$currPos;
1685
- s2 = peg$c57(s1);
2264
+ s2 = peg$c64(s1);
1686
2265
  if (s2) {
1687
2266
  s2 = void 0;
1688
2267
  }
@@ -1796,7 +2375,7 @@ function peg$parse(input, options) {
1796
2375
  }
1797
2376
  if (s6 !== peg$FAILED) {
1798
2377
  peg$savedPos = s4;
1799
- s5 = peg$c58(s1, s3, s6);
2378
+ s5 = peg$c65(s1, s3, s6);
1800
2379
  s4 = s5;
1801
2380
  }
1802
2381
  else {
@@ -1814,9 +2393,23 @@ function peg$parse(input, options) {
1814
2393
  if (s4 !== peg$FAILED) {
1815
2394
  s5 = peg$parseend_code();
1816
2395
  if (s5 !== peg$FAILED) {
1817
- peg$savedPos = s0;
1818
- s1 = peg$c59(s1, s3, s4);
1819
- s0 = s1;
2396
+ peg$savedPos = peg$currPos;
2397
+ s6 = peg$c66(s1, s3, s4, s5);
2398
+ if (s6) {
2399
+ s6 = void 0;
2400
+ }
2401
+ else {
2402
+ s6 = peg$FAILED;
2403
+ }
2404
+ if (s6 !== peg$FAILED) {
2405
+ peg$savedPos = s0;
2406
+ s1 = peg$c67(s1, s3, s4, s5);
2407
+ s0 = s1;
2408
+ }
2409
+ else {
2410
+ peg$currPos = s0;
2411
+ s0 = peg$FAILED;
2412
+ }
1820
2413
  }
1821
2414
  else {
1822
2415
  peg$currPos = s0;
@@ -1852,13 +2445,13 @@ function peg$parse(input, options) {
1852
2445
  s3 = peg$currPos;
1853
2446
  peg$silentFails++;
1854
2447
  if (input.charCodeAt(peg$currPos) === 59) {
1855
- s4 = peg$c60;
2448
+ s4 = peg$c68;
1856
2449
  peg$currPos++;
1857
2450
  }
1858
2451
  else {
1859
2452
  s4 = peg$FAILED;
1860
2453
  if (peg$silentFails === 0) {
1861
- peg$fail(peg$c61);
2454
+ peg$fail(peg$c69);
1862
2455
  }
1863
2456
  }
1864
2457
  peg$silentFails--;
@@ -1917,13 +2510,13 @@ function peg$parse(input, options) {
1917
2510
  s3 = peg$currPos;
1918
2511
  peg$silentFails++;
1919
2512
  if (input.charCodeAt(peg$currPos) === 59) {
1920
- s4 = peg$c60;
2513
+ s4 = peg$c68;
1921
2514
  peg$currPos++;
1922
2515
  }
1923
2516
  else {
1924
2517
  s4 = peg$FAILED;
1925
2518
  if (peg$silentFails === 0) {
1926
- peg$fail(peg$c61);
2519
+ peg$fail(peg$c69);
1927
2520
  }
1928
2521
  }
1929
2522
  peg$silentFails--;
@@ -1990,14 +2583,14 @@ function peg$parse(input, options) {
1990
2583
  }
1991
2584
  function peg$parsehs() {
1992
2585
  var s0;
1993
- if (peg$c62.test(input.charAt(peg$currPos))) {
2586
+ if (peg$c70.test(input.charAt(peg$currPos))) {
1994
2587
  s0 = input.charAt(peg$currPos);
1995
2588
  peg$currPos++;
1996
2589
  }
1997
2590
  else {
1998
2591
  s0 = peg$FAILED;
1999
2592
  if (peg$silentFails === 0) {
2000
- peg$fail(peg$c63);
2593
+ peg$fail(peg$c71);
2001
2594
  }
2002
2595
  }
2003
2596
  return s0;
@@ -2015,13 +2608,13 @@ function peg$parse(input, options) {
2015
2608
  }
2016
2609
  if (s2 !== peg$FAILED) {
2017
2610
  if (input.charCodeAt(peg$currPos) === 59) {
2018
- s3 = peg$c60;
2611
+ s3 = peg$c68;
2019
2612
  peg$currPos++;
2020
2613
  }
2021
2614
  else {
2022
2615
  s3 = peg$FAILED;
2023
2616
  if (peg$silentFails === 0) {
2024
- peg$fail(peg$c61);
2617
+ peg$fail(peg$c69);
2025
2618
  }
2026
2619
  }
2027
2620
  if (s3 !== peg$FAILED) {
@@ -2035,7 +2628,7 @@ function peg$parse(input, options) {
2035
2628
  s5 = peg$parsearray_items();
2036
2629
  if (s5 !== peg$FAILED) {
2037
2630
  peg$savedPos = s0;
2038
- s1 = peg$c64(s1, s5);
2631
+ s1 = peg$c72(s1, s5);
2039
2632
  s0 = s1;
2040
2633
  }
2041
2634
  else {
@@ -2067,7 +2660,7 @@ function peg$parse(input, options) {
2067
2660
  s1 = peg$parseitem();
2068
2661
  if (s1 !== peg$FAILED) {
2069
2662
  peg$savedPos = s0;
2070
- s1 = peg$c65(s1);
2663
+ s1 = peg$c73(s1);
2071
2664
  }
2072
2665
  s0 = s1;
2073
2666
  }
@@ -2079,7 +2672,7 @@ function peg$parse(input, options) {
2079
2672
  s1 = peg$parsestart_code();
2080
2673
  if (s1 !== peg$FAILED) {
2081
2674
  peg$savedPos = peg$currPos;
2082
- s2 = peg$c66(s1);
2675
+ s2 = peg$c74(s1);
2083
2676
  if (s2) {
2084
2677
  s2 = void 0;
2085
2678
  }
@@ -2124,7 +2717,7 @@ function peg$parse(input, options) {
2124
2717
  s5 = peg$parseend_code();
2125
2718
  if (s5 !== peg$FAILED) {
2126
2719
  peg$savedPos = s0;
2127
- s1 = peg$c67(s1, s3, s4);
2720
+ s1 = peg$c75(s1, s3, s4);
2128
2721
  s0 = s1;
2129
2722
  }
2130
2723
  else {
@@ -2159,7 +2752,7 @@ function peg$parse(input, options) {
2159
2752
  s1 = peg$parsestart_code();
2160
2753
  if (s1 !== peg$FAILED) {
2161
2754
  peg$savedPos = peg$currPos;
2162
- s2 = peg$c68(s1);
2755
+ s2 = peg$c76(s1);
2163
2756
  if (s2) {
2164
2757
  s2 = void 0;
2165
2758
  }
@@ -2284,7 +2877,7 @@ function peg$parse(input, options) {
2284
2877
  s1 = peg$parsestart_code();
2285
2878
  if (s1 !== peg$FAILED) {
2286
2879
  peg$savedPos = peg$currPos;
2287
- s2 = peg$c69(s1);
2880
+ s2 = peg$c77(s1);
2288
2881
  if (s2) {
2289
2882
  s2 = void 0;
2290
2883
  }
@@ -2407,27 +3000,27 @@ function peg$parse(input, options) {
2407
3000
  var s0, s1, s2;
2408
3001
  s0 = peg$currPos;
2409
3002
  s1 = [];
2410
- if (peg$c70.test(input.charAt(peg$currPos))) {
3003
+ if (peg$c78.test(input.charAt(peg$currPos))) {
2411
3004
  s2 = input.charAt(peg$currPos);
2412
3005
  peg$currPos++;
2413
3006
  }
2414
3007
  else {
2415
3008
  s2 = peg$FAILED;
2416
3009
  if (peg$silentFails === 0) {
2417
- peg$fail(peg$c71);
3010
+ peg$fail(peg$c79);
2418
3011
  }
2419
3012
  }
2420
3013
  if (s2 !== peg$FAILED) {
2421
3014
  while (s2 !== peg$FAILED) {
2422
3015
  s1.push(s2);
2423
- if (peg$c70.test(input.charAt(peg$currPos))) {
3016
+ if (peg$c78.test(input.charAt(peg$currPos))) {
2424
3017
  s2 = input.charAt(peg$currPos);
2425
3018
  peg$currPos++;
2426
3019
  }
2427
3020
  else {
2428
3021
  s2 = peg$FAILED;
2429
3022
  if (peg$silentFails === 0) {
2430
- peg$fail(peg$c71);
3023
+ peg$fail(peg$c79);
2431
3024
  }
2432
3025
  }
2433
3026
  }
@@ -2446,21 +3039,21 @@ function peg$parse(input, options) {
2446
3039
  function peg$parsedecimalNumber() {
2447
3040
  var s0, s1, s2;
2448
3041
  s0 = peg$currPos;
2449
- if (input.substr(peg$currPos, 2) === peg$c72) {
2450
- s1 = peg$c72;
3042
+ if (input.substr(peg$currPos, 2) === peg$c80) {
3043
+ s1 = peg$c80;
2451
3044
  peg$currPos += 2;
2452
3045
  }
2453
3046
  else {
2454
3047
  s1 = peg$FAILED;
2455
3048
  if (peg$silentFails === 0) {
2456
- peg$fail(peg$c73);
3049
+ peg$fail(peg$c81);
2457
3050
  }
2458
3051
  }
2459
3052
  if (s1 !== peg$FAILED) {
2460
3053
  s2 = peg$parsenumber();
2461
3054
  if (s2 !== peg$FAILED) {
2462
3055
  peg$savedPos = s0;
2463
- s1 = peg$c74(s2);
3056
+ s1 = peg$c82(s2);
2464
3057
  s0 = s1;
2465
3058
  }
2466
3059
  else {
@@ -2477,21 +3070,21 @@ function peg$parse(input, options) {
2477
3070
  function peg$parseoctalNumber() {
2478
3071
  var s0, s1, s2;
2479
3072
  s0 = peg$currPos;
2480
- if (input.substr(peg$currPos, 2) === peg$c75) {
2481
- s1 = peg$c75;
3073
+ if (input.substr(peg$currPos, 2) === peg$c83) {
3074
+ s1 = peg$c83;
2482
3075
  peg$currPos += 2;
2483
3076
  }
2484
3077
  else {
2485
3078
  s1 = peg$FAILED;
2486
3079
  if (peg$silentFails === 0) {
2487
- peg$fail(peg$c76);
3080
+ peg$fail(peg$c84);
2488
3081
  }
2489
3082
  }
2490
3083
  if (s1 !== peg$FAILED) {
2491
3084
  s2 = peg$parsenumber();
2492
3085
  if (s2 !== peg$FAILED) {
2493
3086
  peg$savedPos = s0;
2494
- s1 = peg$c77(s2);
3087
+ s1 = peg$c85(s2);
2495
3088
  s0 = s1;
2496
3089
  }
2497
3090
  else {
@@ -2508,21 +3101,21 @@ function peg$parse(input, options) {
2508
3101
  function peg$parsebinaryNumber() {
2509
3102
  var s0, s1, s2;
2510
3103
  s0 = peg$currPos;
2511
- if (input.substr(peg$currPos, 2) === peg$c78) {
2512
- s1 = peg$c78;
3104
+ if (input.substr(peg$currPos, 2) === peg$c86) {
3105
+ s1 = peg$c86;
2513
3106
  peg$currPos += 2;
2514
3107
  }
2515
3108
  else {
2516
3109
  s1 = peg$FAILED;
2517
3110
  if (peg$silentFails === 0) {
2518
- peg$fail(peg$c79);
3111
+ peg$fail(peg$c87);
2519
3112
  }
2520
3113
  }
2521
3114
  if (s1 !== peg$FAILED) {
2522
3115
  s2 = peg$parsenumber();
2523
3116
  if (s2 !== peg$FAILED) {
2524
3117
  peg$savedPos = s0;
2525
- s1 = peg$c80(s2);
3118
+ s1 = peg$c88(s2);
2526
3119
  s0 = s1;
2527
3120
  }
2528
3121
  else {
@@ -2541,39 +3134,39 @@ function peg$parse(input, options) {
2541
3134
  s0 = peg$currPos;
2542
3135
  s1 = peg$currPos;
2543
3136
  s2 = peg$currPos;
2544
- if (input.substr(peg$currPos, 2) === peg$c81) {
2545
- s3 = peg$c81;
3137
+ if (input.substr(peg$currPos, 2) === peg$c89) {
3138
+ s3 = peg$c89;
2546
3139
  peg$currPos += 2;
2547
3140
  }
2548
3141
  else {
2549
3142
  s3 = peg$FAILED;
2550
3143
  if (peg$silentFails === 0) {
2551
- peg$fail(peg$c82);
3144
+ peg$fail(peg$c90);
2552
3145
  }
2553
3146
  }
2554
3147
  if (s3 !== peg$FAILED) {
2555
3148
  s4 = [];
2556
- if (peg$c83.test(input.charAt(peg$currPos))) {
3149
+ if (peg$c91.test(input.charAt(peg$currPos))) {
2557
3150
  s5 = input.charAt(peg$currPos);
2558
3151
  peg$currPos++;
2559
3152
  }
2560
3153
  else {
2561
3154
  s5 = peg$FAILED;
2562
3155
  if (peg$silentFails === 0) {
2563
- peg$fail(peg$c84);
3156
+ peg$fail(peg$c92);
2564
3157
  }
2565
3158
  }
2566
3159
  if (s5 !== peg$FAILED) {
2567
3160
  while (s5 !== peg$FAILED) {
2568
3161
  s4.push(s5);
2569
- if (peg$c83.test(input.charAt(peg$currPos))) {
3162
+ if (peg$c91.test(input.charAt(peg$currPos))) {
2570
3163
  s5 = input.charAt(peg$currPos);
2571
3164
  peg$currPos++;
2572
3165
  }
2573
3166
  else {
2574
3167
  s5 = peg$FAILED;
2575
3168
  if (peg$silentFails === 0) {
2576
- peg$fail(peg$c84);
3169
+ peg$fail(peg$c92);
2577
3170
  }
2578
3171
  }
2579
3172
  }
@@ -2602,7 +3195,7 @@ function peg$parse(input, options) {
2602
3195
  }
2603
3196
  if (s1 !== peg$FAILED) {
2604
3197
  peg$savedPos = s0;
2605
- s1 = peg$c85();
3198
+ s1 = peg$c93();
2606
3199
  }
2607
3200
  s0 = s1;
2608
3201
  return s0;
@@ -2627,7 +3220,7 @@ function peg$parse(input, options) {
2627
3220
  }
2628
3221
  if (s2 !== peg$FAILED) {
2629
3222
  peg$savedPos = s0;
2630
- s1 = peg$c86(s2);
3223
+ s1 = peg$c94(s2);
2631
3224
  s0 = s1;
2632
3225
  }
2633
3226
  else {
@@ -2654,13 +3247,13 @@ function peg$parse(input, options) {
2654
3247
  }
2655
3248
  if (s2 !== peg$FAILED) {
2656
3249
  if (input.charCodeAt(peg$currPos) === 59) {
2657
- s3 = peg$c60;
3250
+ s3 = peg$c68;
2658
3251
  peg$currPos++;
2659
3252
  }
2660
3253
  else {
2661
3254
  s3 = peg$FAILED;
2662
3255
  if (peg$silentFails === 0) {
2663
- peg$fail(peg$c61);
3256
+ peg$fail(peg$c69);
2664
3257
  }
2665
3258
  }
2666
3259
  if (s3 !== peg$FAILED) {
@@ -2674,7 +3267,7 @@ function peg$parse(input, options) {
2674
3267
  s5 = peg$parsearray_E_items();
2675
3268
  if (s5 !== peg$FAILED) {
2676
3269
  peg$savedPos = s0;
2677
- s1 = peg$c64(s1, s5);
3270
+ s1 = peg$c72(s1, s5);
2678
3271
  s0 = s1;
2679
3272
  }
2680
3273
  else {
@@ -2706,7 +3299,7 @@ function peg$parse(input, options) {
2706
3299
  s1 = peg$parseitem_E();
2707
3300
  if (s1 !== peg$FAILED) {
2708
3301
  peg$savedPos = s0;
2709
- s1 = peg$c65(s1);
3302
+ s1 = peg$c73(s1);
2710
3303
  }
2711
3304
  s0 = s1;
2712
3305
  }
@@ -2718,7 +3311,7 @@ function peg$parse(input, options) {
2718
3311
  s1 = peg$parsestart_code();
2719
3312
  if (s1 !== peg$FAILED) {
2720
3313
  peg$savedPos = peg$currPos;
2721
- s2 = peg$c87(s1);
3314
+ s2 = peg$c95(s1);
2722
3315
  if (s2) {
2723
3316
  s2 = void 0;
2724
3317
  }
@@ -2730,7 +3323,7 @@ function peg$parse(input, options) {
2730
3323
  s4 = peg$parsearray_E_items();
2731
3324
  if (s4 !== peg$FAILED) {
2732
3325
  peg$savedPos = s3;
2733
- s4 = peg$c88(s1, s4);
3326
+ s4 = peg$c96(s1, s4);
2734
3327
  }
2735
3328
  s3 = s4;
2736
3329
  if (s3 === peg$FAILED) {
@@ -2740,7 +3333,7 @@ function peg$parse(input, options) {
2740
3333
  s4 = peg$parseend_code();
2741
3334
  if (s4 !== peg$FAILED) {
2742
3335
  peg$savedPos = s0;
2743
- s1 = peg$c89(s1, s3);
3336
+ s1 = peg$c97(s1, s3);
2744
3337
  s0 = s1;
2745
3338
  }
2746
3339
  else {
@@ -2788,7 +3381,64 @@ function peg$parse(input, options) {
2788
3381
  }
2789
3382
  if (s2 !== peg$FAILED) {
2790
3383
  peg$savedPos = s0;
2791
- s1 = peg$c90(s1);
3384
+ s1 = peg$c98(s1);
3385
+ s0 = s1;
3386
+ }
3387
+ else {
3388
+ peg$currPos = s0;
3389
+ s0 = peg$FAILED;
3390
+ }
3391
+ }
3392
+ else {
3393
+ peg$currPos = s0;
3394
+ s0 = peg$FAILED;
3395
+ }
3396
+ return s0;
3397
+ }
3398
+ function peg$parsestart_code_2() {
3399
+ var s0, s1, s2, s3;
3400
+ s0 = peg$currPos;
3401
+ s1 = peg$currPos;
3402
+ s2 = peg$parseallowed_code();
3403
+ if (s2 !== peg$FAILED) {
3404
+ s1 = input.substring(s1, peg$currPos);
3405
+ }
3406
+ else {
3407
+ s1 = s2;
3408
+ }
3409
+ if (s1 !== peg$FAILED) {
3410
+ s2 = peg$currPos;
3411
+ if (input.charCodeAt(peg$currPos) === 60) {
3412
+ s3 = peg$c48;
3413
+ peg$currPos++;
3414
+ }
3415
+ else {
3416
+ s3 = peg$FAILED;
3417
+ if (peg$silentFails === 0) {
3418
+ peg$fail(peg$c49);
3419
+ }
3420
+ }
3421
+ if (s3 === peg$FAILED) {
3422
+ if (input.charCodeAt(peg$currPos) === 171) {
3423
+ s3 = peg$c53;
3424
+ peg$currPos++;
3425
+ }
3426
+ else {
3427
+ s3 = peg$FAILED;
3428
+ if (peg$silentFails === 0) {
3429
+ peg$fail(peg$c54);
3430
+ }
3431
+ }
3432
+ }
3433
+ if (s3 !== peg$FAILED) {
3434
+ s2 = input.substring(s2, peg$currPos);
3435
+ }
3436
+ else {
3437
+ s2 = s3;
3438
+ }
3439
+ if (s2 !== peg$FAILED) {
3440
+ peg$savedPos = s0;
3441
+ s1 = peg$c99(s1, s2);
2792
3442
  s0 = s1;
2793
3443
  }
2794
3444
  else {
@@ -2814,15 +3464,27 @@ function peg$parse(input, options) {
2814
3464
  peg$fail(peg$c51);
2815
3465
  }
2816
3466
  }
3467
+ if (s0 === peg$FAILED) {
3468
+ if (input.charCodeAt(peg$currPos) === 187) {
3469
+ s0 = peg$c55;
3470
+ peg$currPos++;
3471
+ }
3472
+ else {
3473
+ s0 = peg$FAILED;
3474
+ if (peg$silentFails === 0) {
3475
+ peg$fail(peg$c56);
3476
+ }
3477
+ }
3478
+ }
2817
3479
  return s0;
2818
3480
  }
2819
- function peg$parsecode() {
2820
- var s0, s1, s2, s3, s4;
3481
+ function peg$parsecode_2() {
3482
+ var s0, s1, s2, s3, s4, s5;
2821
3483
  s0 = peg$currPos;
2822
- s1 = peg$parsestart_code();
3484
+ s1 = peg$parsestart_code_2();
2823
3485
  if (s1 !== peg$FAILED) {
2824
3486
  peg$savedPos = peg$currPos;
2825
- s2 = peg$c91(s1);
3487
+ s2 = peg$c100(s1);
2826
3488
  if (s2) {
2827
3489
  s2 = void 0;
2828
3490
  }
@@ -2833,7 +3495,7 @@ function peg$parse(input, options) {
2833
3495
  s3 = [];
2834
3496
  s4 = peg$parseallowed_rules();
2835
3497
  if (s4 === peg$FAILED) {
2836
- s4 = peg$parsecode();
3498
+ s4 = peg$parsecode_2();
2837
3499
  if (s4 === peg$FAILED) {
2838
3500
  s4 = peg$parsetext();
2839
3501
  }
@@ -2842,7 +3504,7 @@ function peg$parse(input, options) {
2842
3504
  s3.push(s4);
2843
3505
  s4 = peg$parseallowed_rules();
2844
3506
  if (s4 === peg$FAILED) {
2845
- s4 = peg$parsecode();
3507
+ s4 = peg$parsecode_2();
2846
3508
  if (s4 === peg$FAILED) {
2847
3509
  s4 = peg$parsetext();
2848
3510
  }
@@ -2851,9 +3513,23 @@ function peg$parse(input, options) {
2851
3513
  if (s3 !== peg$FAILED) {
2852
3514
  s4 = peg$parseend_code();
2853
3515
  if (s4 !== peg$FAILED) {
2854
- peg$savedPos = s0;
2855
- s1 = peg$c92(s1, s3);
2856
- s0 = s1;
3516
+ peg$savedPos = peg$currPos;
3517
+ s5 = peg$c101(s1, s3, s4);
3518
+ if (s5) {
3519
+ s5 = void 0;
3520
+ }
3521
+ else {
3522
+ s5 = peg$FAILED;
3523
+ }
3524
+ if (s5 !== peg$FAILED) {
3525
+ peg$savedPos = s0;
3526
+ s1 = peg$c102(s1, s3, s4);
3527
+ s0 = s1;
3528
+ }
3529
+ else {
3530
+ peg$currPos = s0;
3531
+ s0 = peg$FAILED;
3532
+ }
2857
3533
  }
2858
3534
  else {
2859
3535
  peg$currPos = s0;
@@ -3011,9 +3687,53 @@ function peg$parse(input, options) {
3011
3687
  s3 = peg$FAILED;
3012
3688
  }
3013
3689
  if (s3 === peg$FAILED) {
3014
- s3 = peg$parselooks_like_code();
3690
+ s3 = peg$currPos;
3691
+ if (input.charCodeAt(peg$currPos) === 171) {
3692
+ s4 = peg$c53;
3693
+ peg$currPos++;
3694
+ }
3695
+ else {
3696
+ s4 = peg$FAILED;
3697
+ if (peg$silentFails === 0) {
3698
+ peg$fail(peg$c54);
3699
+ }
3700
+ }
3701
+ if (s4 !== peg$FAILED) {
3702
+ s5 = peg$parsetext();
3703
+ if (s5 !== peg$FAILED) {
3704
+ if (input.charCodeAt(peg$currPos) === 187) {
3705
+ s6 = peg$c55;
3706
+ peg$currPos++;
3707
+ }
3708
+ else {
3709
+ s6 = peg$FAILED;
3710
+ if (peg$silentFails === 0) {
3711
+ peg$fail(peg$c56);
3712
+ }
3713
+ }
3714
+ if (s6 !== peg$FAILED) {
3715
+ s4 = [s4, s5, s6];
3716
+ s3 = s4;
3717
+ }
3718
+ else {
3719
+ peg$currPos = s3;
3720
+ s3 = peg$FAILED;
3721
+ }
3722
+ }
3723
+ else {
3724
+ peg$currPos = s3;
3725
+ s3 = peg$FAILED;
3726
+ }
3727
+ }
3728
+ else {
3729
+ peg$currPos = s3;
3730
+ s3 = peg$FAILED;
3731
+ }
3015
3732
  if (s3 === peg$FAILED) {
3016
- s3 = peg$parsenot_code();
3733
+ s3 = peg$parselooks_like_code();
3734
+ if (s3 === peg$FAILED) {
3735
+ s3 = peg$parsenot_code();
3736
+ }
3017
3737
  }
3018
3738
  }
3019
3739
  if (s3 !== peg$FAILED) {
@@ -3062,9 +3782,53 @@ function peg$parse(input, options) {
3062
3782
  s3 = peg$FAILED;
3063
3783
  }
3064
3784
  if (s3 === peg$FAILED) {
3065
- s3 = peg$parselooks_like_code();
3785
+ s3 = peg$currPos;
3786
+ if (input.charCodeAt(peg$currPos) === 171) {
3787
+ s4 = peg$c53;
3788
+ peg$currPos++;
3789
+ }
3790
+ else {
3791
+ s4 = peg$FAILED;
3792
+ if (peg$silentFails === 0) {
3793
+ peg$fail(peg$c54);
3794
+ }
3795
+ }
3796
+ if (s4 !== peg$FAILED) {
3797
+ s5 = peg$parsetext();
3798
+ if (s5 !== peg$FAILED) {
3799
+ if (input.charCodeAt(peg$currPos) === 187) {
3800
+ s6 = peg$c55;
3801
+ peg$currPos++;
3802
+ }
3803
+ else {
3804
+ s6 = peg$FAILED;
3805
+ if (peg$silentFails === 0) {
3806
+ peg$fail(peg$c56);
3807
+ }
3808
+ }
3809
+ if (s6 !== peg$FAILED) {
3810
+ s4 = [s4, s5, s6];
3811
+ s3 = s4;
3812
+ }
3813
+ else {
3814
+ peg$currPos = s3;
3815
+ s3 = peg$FAILED;
3816
+ }
3817
+ }
3818
+ else {
3819
+ peg$currPos = s3;
3820
+ s3 = peg$FAILED;
3821
+ }
3822
+ }
3823
+ else {
3824
+ peg$currPos = s3;
3825
+ s3 = peg$FAILED;
3826
+ }
3066
3827
  if (s3 === peg$FAILED) {
3067
- s3 = peg$parsenot_code();
3828
+ s3 = peg$parselooks_like_code();
3829
+ if (s3 === peg$FAILED) {
3830
+ s3 = peg$parsenot_code();
3831
+ }
3068
3832
  }
3069
3833
  }
3070
3834
  }
@@ -3080,7 +3844,7 @@ function peg$parse(input, options) {
3080
3844
  }
3081
3845
  if (s1 !== peg$FAILED) {
3082
3846
  peg$savedPos = s0;
3083
- s1 = peg$c53(s1);
3847
+ s1 = peg$c57(s1);
3084
3848
  }
3085
3849
  s0 = s1;
3086
3850
  return s0;
@@ -3105,7 +3869,7 @@ function peg$parse(input, options) {
3105
3869
  if (s4 !== peg$FAILED) {
3106
3870
  s5 = peg$currPos;
3107
3871
  peg$silentFails++;
3108
- s6 = peg$parsestart_code();
3872
+ s6 = peg$parsestart_code_2();
3109
3873
  peg$silentFails--;
3110
3874
  if (s6 === peg$FAILED) {
3111
3875
  s5 = void 0;
@@ -3178,7 +3942,7 @@ function peg$parse(input, options) {
3178
3942
  if (s4 !== peg$FAILED) {
3179
3943
  s5 = peg$currPos;
3180
3944
  peg$silentFails++;
3181
- s6 = peg$parsestart_code();
3945
+ s6 = peg$parsestart_code_2();
3182
3946
  peg$silentFails--;
3183
3947
  if (s6 === peg$FAILED) {
3184
3948
  s5 = void 0;
@@ -3246,7 +4010,7 @@ function peg$parse(input, options) {
3246
4010
  }
3247
4011
  if (s1 !== peg$FAILED) {
3248
4012
  peg$savedPos = s0;
3249
- s1 = peg$c53(s1);
4013
+ s1 = peg$c57(s1);
3250
4014
  }
3251
4015
  s0 = s1;
3252
4016
  return s0;
@@ -3338,11 +4102,102 @@ function peg$parse(input, options) {
3338
4102
  peg$currPos = s0;
3339
4103
  s0 = peg$FAILED;
3340
4104
  }
4105
+ if (s0 === peg$FAILED) {
4106
+ s0 = peg$currPos;
4107
+ s1 = peg$currPos;
4108
+ s2 = peg$currPos;
4109
+ peg$silentFails++;
4110
+ s3 = peg$parseallowed_code();
4111
+ peg$silentFails--;
4112
+ if (s3 === peg$FAILED) {
4113
+ s2 = void 0;
4114
+ }
4115
+ else {
4116
+ peg$currPos = s2;
4117
+ s2 = peg$FAILED;
4118
+ }
4119
+ if (s2 !== peg$FAILED) {
4120
+ if (input.length > peg$currPos) {
4121
+ s3 = input.charAt(peg$currPos);
4122
+ peg$currPos++;
4123
+ }
4124
+ else {
4125
+ s3 = peg$FAILED;
4126
+ if (peg$silentFails === 0) {
4127
+ peg$fail(peg$c39);
4128
+ }
4129
+ }
4130
+ if (s3 !== peg$FAILED) {
4131
+ s2 = [s2, s3];
4132
+ s1 = s2;
4133
+ }
4134
+ else {
4135
+ peg$currPos = s1;
4136
+ s1 = peg$FAILED;
4137
+ }
4138
+ }
4139
+ else {
4140
+ peg$currPos = s1;
4141
+ s1 = peg$FAILED;
4142
+ }
4143
+ if (s1 !== peg$FAILED) {
4144
+ if (input.charCodeAt(peg$currPos) === 171) {
4145
+ s2 = peg$c53;
4146
+ peg$currPos++;
4147
+ }
4148
+ else {
4149
+ s2 = peg$FAILED;
4150
+ if (peg$silentFails === 0) {
4151
+ peg$fail(peg$c54);
4152
+ }
4153
+ }
4154
+ if (s2 !== peg$FAILED) {
4155
+ s3 = peg$parsenot_code();
4156
+ if (s3 !== peg$FAILED) {
4157
+ if (input.charCodeAt(peg$currPos) === 187) {
4158
+ s4 = peg$c55;
4159
+ peg$currPos++;
4160
+ }
4161
+ else {
4162
+ s4 = peg$FAILED;
4163
+ if (peg$silentFails === 0) {
4164
+ peg$fail(peg$c56);
4165
+ }
4166
+ }
4167
+ if (s4 !== peg$FAILED) {
4168
+ peg$savedPos = s0;
4169
+ s1 = peg$c52();
4170
+ s0 = s1;
4171
+ }
4172
+ else {
4173
+ peg$currPos = s0;
4174
+ s0 = peg$FAILED;
4175
+ }
4176
+ }
4177
+ else {
4178
+ peg$currPos = s0;
4179
+ s0 = peg$FAILED;
4180
+ }
4181
+ }
4182
+ else {
4183
+ peg$currPos = s0;
4184
+ s0 = peg$FAILED;
4185
+ }
4186
+ }
4187
+ else {
4188
+ peg$currPos = s0;
4189
+ s0 = peg$FAILED;
4190
+ }
4191
+ }
3341
4192
  return s0;
3342
4193
  }
3343
4194
  function flattenDeep(arr) {
3344
4195
  return arr.reduce((acc, val) => Array.isArray(val) ? acc.concat(flattenDeep(val)) : acc.concat(val), []);
3345
4196
  }
4197
+ function get_pair_tag(tag) {
4198
+ const map = { '<': '>', '«': '»', '>': '<', '»': '«' };
4199
+ return map[tag];
4200
+ }
3346
4201
  peg$result = peg$startRuleFunction();
3347
4202
  if (peg$result !== peg$FAILED && peg$currPos === input.length) {
3348
4203
  return peg$result;