@aster-cloud/aster-lang-ts 0.0.31 → 0.1.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.
Files changed (174) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +4 -4
  3. package/dist/peg/headers-parser.js +233 -468
  4. package/dist/scripts/cleanup-examples.js +1 -1
  5. package/dist/scripts/cleanup-examples.js.map +1 -1
  6. package/dist/scripts/emit-classfiles.js +0 -49
  7. package/dist/scripts/emit-classfiles.js.map +1 -1
  8. package/dist/scripts/golden.js +0 -3
  9. package/dist/scripts/golden.js.map +1 -1
  10. package/dist/scripts/lsp-capmanifest-codeaction-smoke.js +2 -2
  11. package/dist/scripts/lsp-capmanifest-codeaction-smoke.js.map +1 -1
  12. package/dist/scripts/lsp-codeaction-smoke.js +2 -2
  13. package/dist/scripts/lsp-codeaction-smoke.js.map +1 -1
  14. package/dist/scripts/lsp-health-smoke.js +1 -1
  15. package/dist/scripts/lsp-health-smoke.js.map +1 -1
  16. package/dist/scripts/lsp-missing-header-codeaction-smoke.js +1 -1
  17. package/dist/scripts/lsp-missing-header-codeaction-smoke.js.map +1 -1
  18. package/dist/scripts/lsp-multi-rename.test.js +1 -1
  19. package/dist/scripts/lsp-multi-rename.test.js.map +1 -1
  20. package/dist/scripts/lsp-punct-codeaction-smoke.js +1 -1
  21. package/dist/scripts/lsp-punct-codeaction-smoke.js.map +1 -1
  22. package/dist/scripts/lsp-streaming-progress-smoke.js +2 -2
  23. package/dist/scripts/lsp-streaming-progress-smoke.js.map +1 -1
  24. package/dist/src/ast/ast.js +1 -1
  25. package/dist/src/ast/ast.js.map +1 -1
  26. package/dist/src/browser.d.ts +6 -18
  27. package/dist/src/browser.d.ts.map +1 -1
  28. package/dist/src/browser.js +14 -24
  29. package/dist/src/browser.js.map +1 -1
  30. package/dist/src/config/lexicons/diagnostic-messages.d.ts +23 -0
  31. package/dist/src/config/lexicons/diagnostic-messages.d.ts.map +1 -0
  32. package/dist/src/config/lexicons/diagnostic-messages.js +130 -0
  33. package/dist/src/config/lexicons/diagnostic-messages.js.map +1 -0
  34. package/dist/src/config/lexicons/input-generation-rules.d.ts +22 -0
  35. package/dist/src/config/lexicons/input-generation-rules.d.ts.map +1 -0
  36. package/dist/src/config/lexicons/input-generation-rules.js +142 -0
  37. package/dist/src/config/lexicons/input-generation-rules.js.map +1 -0
  38. package/dist/src/config/lexicons/lsp-ui-texts.d.ts +42 -0
  39. package/dist/src/config/lexicons/lsp-ui-texts.d.ts.map +1 -0
  40. package/dist/src/config/lexicons/lsp-ui-texts.js +75 -0
  41. package/dist/src/config/lexicons/lsp-ui-texts.js.map +1 -0
  42. package/dist/src/config/lexicons/overlay-loader.d.ts +55 -0
  43. package/dist/src/config/lexicons/overlay-loader.d.ts.map +1 -0
  44. package/dist/src/config/lexicons/overlay-loader.js +30 -0
  45. package/dist/src/config/lexicons/overlay-loader.js.map +1 -0
  46. package/dist/src/config/lexicons/type-inference-rules.d.ts +19 -0
  47. package/dist/src/config/lexicons/type-inference-rules.d.ts.map +1 -0
  48. package/dist/src/config/lexicons/type-inference-rules.js +56 -0
  49. package/dist/src/config/lexicons/type-inference-rules.js.map +1 -0
  50. package/dist/src/config/lexicons/types.d.ts +10 -0
  51. package/dist/src/config/lexicons/types.d.ts.map +1 -1
  52. package/dist/src/config/lexicons/types.js.map +1 -1
  53. package/dist/src/config/semantic.d.ts +0 -8
  54. package/dist/src/config/semantic.d.ts.map +1 -1
  55. package/dist/src/config/semantic.js +0 -16
  56. package/dist/src/config/semantic.js.map +1 -1
  57. package/dist/src/diagnostics/diagnostics.d.ts +1 -7
  58. package/dist/src/diagnostics/diagnostics.d.ts.map +1 -1
  59. package/dist/src/diagnostics/diagnostics.js +2 -9
  60. package/dist/src/diagnostics/diagnostics.js.map +1 -1
  61. package/dist/src/diagnostics/error_codes.d.ts +2 -1
  62. package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
  63. package/dist/src/diagnostics/error_codes.js +85 -480
  64. package/dist/src/diagnostics/error_codes.js.map +1 -1
  65. package/dist/src/formatter.js +8 -23
  66. package/dist/src/formatter.js.map +1 -1
  67. package/dist/src/frontend/lexer.d.ts +1 -1
  68. package/dist/src/frontend/lexer.js +1 -1
  69. package/dist/src/index.d.ts +3 -3
  70. package/dist/src/index.js +3 -3
  71. package/dist/src/lower_to_core.d.ts +3 -3
  72. package/dist/src/lower_to_core.js +3 -3
  73. package/dist/src/lsp/codeaction.d.ts +2 -1
  74. package/dist/src/lsp/codeaction.d.ts.map +1 -1
  75. package/dist/src/lsp/codeaction.js +17 -14
  76. package/dist/src/lsp/codeaction.js.map +1 -1
  77. package/dist/src/lsp/completion.d.ts +4 -51
  78. package/dist/src/lsp/completion.d.ts.map +1 -1
  79. package/dist/src/lsp/completion.js +15 -83
  80. package/dist/src/lsp/completion.js.map +1 -1
  81. package/dist/src/lsp/diagnostics.d.ts +3 -2
  82. package/dist/src/lsp/diagnostics.d.ts.map +1 -1
  83. package/dist/src/lsp/diagnostics.js +14 -7
  84. package/dist/src/lsp/diagnostics.js.map +1 -1
  85. package/dist/src/lsp/navigation/hover.d.ts +2 -1
  86. package/dist/src/lsp/navigation/hover.d.ts.map +1 -1
  87. package/dist/src/lsp/navigation/hover.js +22 -35
  88. package/dist/src/lsp/navigation/hover.js.map +1 -1
  89. package/dist/src/lsp/navigation.d.ts +1 -1
  90. package/dist/src/lsp/navigation.d.ts.map +1 -1
  91. package/dist/src/lsp/navigation.js +2 -2
  92. package/dist/src/lsp/navigation.js.map +1 -1
  93. package/dist/src/lsp/pii_diagnostics.js +3 -13
  94. package/dist/src/lsp/pii_diagnostics.js.map +1 -1
  95. package/dist/src/lsp/server.js +35 -8
  96. package/dist/src/lsp/server.js.map +1 -1
  97. package/dist/src/lsp/workspace/document-indexer.js +1 -1
  98. package/dist/src/lsp/workspace/document-indexer.js.map +1 -1
  99. package/dist/src/package/resolver.js +6 -6
  100. package/dist/src/package/resolver.js.map +1 -1
  101. package/dist/src/parser/constraint-parser.d.ts +1 -10
  102. package/dist/src/parser/constraint-parser.d.ts.map +1 -1
  103. package/dist/src/parser/constraint-parser.js +0 -30
  104. package/dist/src/parser/constraint-parser.js.map +1 -1
  105. package/dist/src/parser/context.d.ts +3 -1
  106. package/dist/src/parser/context.d.ts.map +1 -1
  107. package/dist/src/parser/context.js +2 -1
  108. package/dist/src/parser/context.js.map +1 -1
  109. package/dist/src/parser/decl-parser.d.ts +1 -1
  110. package/dist/src/parser/decl-parser.js +3 -3
  111. package/dist/src/parser/decl-parser.js.map +1 -1
  112. package/dist/src/parser/expr-stmt-parser.js +3 -3
  113. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  114. package/dist/src/parser/field-variant-parser.js +1 -1
  115. package/dist/src/parser/field-variant-parser.js.map +1 -1
  116. package/dist/src/parser/import-parser.d.ts +1 -1
  117. package/dist/src/parser/import-parser.js +2 -2
  118. package/dist/src/parser/import-parser.js.map +1 -1
  119. package/dist/src/parser/input-generator.d.ts +20 -6
  120. package/dist/src/parser/input-generator.d.ts.map +1 -1
  121. package/dist/src/parser/input-generator.js +20 -403
  122. package/dist/src/parser/input-generator.js.map +1 -1
  123. package/dist/src/parser/type-inference.d.ts +10 -16
  124. package/dist/src/parser/type-inference.d.ts.map +1 -1
  125. package/dist/src/parser/type-inference.js +36 -127
  126. package/dist/src/parser/type-inference.js.map +1 -1
  127. package/dist/src/parser.d.ts +1 -1
  128. package/dist/src/parser.d.ts.map +1 -1
  129. package/dist/src/parser.js +6 -3
  130. package/dist/src/parser.js.map +1 -1
  131. package/dist/src/typecheck/context.d.ts +2 -0
  132. package/dist/src/typecheck/context.d.ts.map +1 -1
  133. package/dist/src/typecheck/context.js.map +1 -1
  134. package/dist/src/typecheck/diagnostics.d.ts +6 -0
  135. package/dist/src/typecheck/diagnostics.d.ts.map +1 -1
  136. package/dist/src/typecheck/diagnostics.js +11 -3
  137. package/dist/src/typecheck/diagnostics.js.map +1 -1
  138. package/dist/src/typecheck/module.d.ts.map +1 -1
  139. package/dist/src/typecheck/module.js +8 -2
  140. package/dist/src/typecheck/module.js.map +1 -1
  141. package/dist/src/typecheck/workflow.js +10 -10
  142. package/dist/src/typecheck/workflow.js.map +1 -1
  143. package/dist/src/types/type-inference.d.ts +20 -0
  144. package/dist/src/types/type-inference.d.ts.map +1 -0
  145. package/dist/src/types/type-inference.js +8 -0
  146. package/dist/src/types/type-inference.js.map +1 -0
  147. package/dist/src/types.d.ts +0 -21
  148. package/dist/src/types.d.ts.map +1 -1
  149. package/dist/src/types.js.map +1 -1
  150. package/dist/test/fuzz/formatter-fuzz.test.js +5 -1
  151. package/dist/test/fuzz/formatter-fuzz.test.js.map +1 -1
  152. package/dist/test/integration/compliance/compliance-smoke.test.js +4 -1
  153. package/dist/test/integration/compliance/compliance-smoke.test.js.map +1 -1
  154. package/dist/test/type-checker/pii-propagation.test.js +1 -2
  155. package/dist/test/type-checker/pii-propagation.test.js.map +1 -1
  156. package/dist/test/unit/browser/extract-schema.test.d.ts +2 -0
  157. package/dist/test/unit/browser/extract-schema.test.d.ts.map +1 -0
  158. package/dist/test/unit/browser/extract-schema.test.js +117 -0
  159. package/dist/test/unit/browser/extract-schema.test.js.map +1 -0
  160. package/dist/test/unit/emitter/emitter.test.js +30 -35
  161. package/dist/test/unit/emitter/emitter.test.js.map +1 -1
  162. package/dist/test/unit/lowering/lowering.test.js +1 -1
  163. package/dist/test/unit/lowering/lowering.test.js.map +1 -1
  164. package/dist/test/unit/lsp/pii-diagnostics.test.js +5 -5
  165. package/dist/test/unit/lsp/pii-diagnostics.test.js.map +1 -1
  166. package/dist/test/unit/parser/type-inference.test.js +50 -32
  167. package/dist/test/unit/parser/type-inference.test.js.map +1 -1
  168. package/dist/test/unit/typecheck/regression-fixes.test.js +12 -12
  169. package/dist/test/unit/typecheck/regression-fixes.test.js.map +1 -1
  170. package/dist/test/unit/typecheck/type-system.test.js +2 -2
  171. package/dist/test/unit/typecheck/type-system.test.js.map +1 -1
  172. package/dist/test/unit/typecheck/typecheck-advanced.test.js +2 -2
  173. package/dist/test/unit/typecheck/typecheck-advanced.test.js.map +1 -1
  174. package/package.json +1 -1
@@ -166,35 +166,33 @@ function peg$parse(input, options) {
166
166
 
167
167
  const peg$c0 = "module";
168
168
  const peg$c1 = ".";
169
- const peg$c2 = "this module is";
170
- const peg$c3 = "use";
171
- const peg$c4 = "as";
172
- const peg$c5 = "define";
173
- const peg$c6 = "has";
174
- const peg$c7 = "with";
175
- const peg$c8 = "one";
176
- const peg$c9 = "of";
177
- const peg$c10 = "rule";
178
- const peg$c11 = ",";
179
- const peg$c12 = "produce";
180
- const peg$c13 = "to";
181
- const peg$c14 = "given";
182
- const peg$c15 = ":";
183
- const peg$c16 = "it";
184
- const peg$c17 = "performs";
185
- const peg$c18 = "io";
186
- const peg$c19 = "cpu";
187
- const peg$c20 = "and";
188
- const peg$c21 = "or";
189
- const peg$c22 = "maybe";
190
- const peg$c23 = "option";
191
- const peg$c24 = "result";
192
- const peg$c25 = "list";
193
- const peg$c26 = "map";
194
- const peg$c27 = "text";
195
- const peg$c28 = "int";
196
- const peg$c29 = "float";
197
- const peg$c30 = "bool";
169
+ const peg$c2 = "use";
170
+ const peg$c3 = "as";
171
+ const peg$c4 = "define";
172
+ const peg$c5 = "has";
173
+ const peg$c6 = "one";
174
+ const peg$c7 = "of";
175
+ const peg$c8 = "rule";
176
+ const peg$c9 = ",";
177
+ const peg$c10 = "produce";
178
+ const peg$c11 = "given";
179
+ const peg$c12 = ":";
180
+ const peg$c13 = "it";
181
+ const peg$c14 = "performs";
182
+ const peg$c15 = "io";
183
+ const peg$c16 = "cpu";
184
+ const peg$c17 = "and";
185
+ const peg$c18 = "or";
186
+ const peg$c19 = "maybe";
187
+ const peg$c20 = "option";
188
+ const peg$c21 = "result";
189
+ const peg$c22 = "list";
190
+ const peg$c23 = "map";
191
+ const peg$c24 = "to";
192
+ const peg$c25 = "text";
193
+ const peg$c26 = "int";
194
+ const peg$c27 = "float";
195
+ const peg$c28 = "bool";
198
196
 
199
197
  const peg$r0 = /^[.:]/;
200
198
  const peg$r1 = /^[A-Z\xC0-\xD6\xD8-\xDE\u0100-\u024F\u4E00-\u9FFF\u3400-\u4DBF]/;
@@ -204,82 +202,75 @@ function peg$parse(input, options) {
204
202
 
205
203
  const peg$e0 = peg$literalExpectation("Module", true);
206
204
  const peg$e1 = peg$literalExpectation(".", false);
207
- const peg$e2 = peg$literalExpectation("this module is", true);
208
- const peg$e3 = peg$literalExpectation("use", true);
209
- const peg$e4 = peg$literalExpectation("as", true);
210
- const peg$e5 = peg$literalExpectation("define", true);
211
- const peg$e6 = peg$literalExpectation("has", true);
212
- const peg$e7 = peg$literalExpectation("with", true);
213
- const peg$e8 = peg$literalExpectation("one", true);
214
- const peg$e9 = peg$literalExpectation("of", true);
215
- const peg$e10 = peg$literalExpectation("Rule", true);
216
- const peg$e11 = peg$literalExpectation(",", false);
217
- const peg$e12 = peg$literalExpectation("produce", true);
218
- const peg$e13 = peg$literalExpectation("to", true);
219
- const peg$e14 = peg$literalExpectation("given", true);
220
- const peg$e15 = peg$literalExpectation(":", false);
221
- const peg$e16 = peg$literalExpectation("it", true);
222
- const peg$e17 = peg$literalExpectation("performs", true);
223
- const peg$e18 = peg$classExpectation([".", ":"], false, false, false);
224
- const peg$e19 = peg$literalExpectation("io", true);
225
- const peg$e20 = peg$literalExpectation("cpu", true);
226
- const peg$e21 = peg$literalExpectation("and", true);
227
- const peg$e22 = peg$literalExpectation("or", true);
228
- const peg$e23 = peg$literalExpectation("maybe", true);
229
- const peg$e24 = peg$literalExpectation("option", true);
230
- const peg$e25 = peg$literalExpectation("result", true);
231
- const peg$e26 = peg$literalExpectation("list", true);
232
- const peg$e27 = peg$literalExpectation("map", true);
233
- const peg$e28 = peg$literalExpectation("text", true);
234
- const peg$e29 = peg$literalExpectation("int", true);
235
- const peg$e30 = peg$literalExpectation("float", true);
236
- const peg$e31 = peg$literalExpectation("bool", true);
237
- const peg$e32 = peg$classExpectation([["A", "Z"], ["\xC0", "\xD6"], ["\xD8", "\xDE"], ["\u0100", "\u024F"], ["\u4E00", "\u9FFF"], ["\u3400", "\u4DBF"]], false, false, false);
238
- const peg$e33 = peg$classExpectation([["A", "Z"], ["a", "z"], ["0", "9"], "_", ["\xC0", "\u024F"], ["\u4E00", "\u9FFF"], ["\u3400", "\u4DBF"]], false, false, false);
239
- const peg$e34 = peg$classExpectation([["a", "z"], ["\xDF", "\xF6"], ["\xF8", "\xFF"], ["\u0100", "\u024F"], ["\u4E00", "\u9FFF"], ["\u3400", "\u4DBF"]], false, false, false);
240
- const peg$e35 = peg$classExpectation([" ", "\t"], false, false, false);
205
+ const peg$e2 = peg$literalExpectation("use", true);
206
+ const peg$e3 = peg$literalExpectation("as", true);
207
+ const peg$e4 = peg$literalExpectation("define", true);
208
+ const peg$e5 = peg$literalExpectation("has", true);
209
+ const peg$e6 = peg$literalExpectation("one", true);
210
+ const peg$e7 = peg$literalExpectation("of", true);
211
+ const peg$e8 = peg$literalExpectation("Rule", true);
212
+ const peg$e9 = peg$literalExpectation(",", false);
213
+ const peg$e10 = peg$literalExpectation("produce", true);
214
+ const peg$e11 = peg$literalExpectation("given", true);
215
+ const peg$e12 = peg$literalExpectation(":", false);
216
+ const peg$e13 = peg$literalExpectation("it", true);
217
+ const peg$e14 = peg$literalExpectation("performs", true);
218
+ const peg$e15 = peg$classExpectation([".", ":"], false, false, false);
219
+ const peg$e16 = peg$literalExpectation("io", true);
220
+ const peg$e17 = peg$literalExpectation("cpu", true);
221
+ const peg$e18 = peg$literalExpectation("and", true);
222
+ const peg$e19 = peg$literalExpectation("or", true);
223
+ const peg$e20 = peg$literalExpectation("maybe", true);
224
+ const peg$e21 = peg$literalExpectation("option", true);
225
+ const peg$e22 = peg$literalExpectation("result", true);
226
+ const peg$e23 = peg$literalExpectation("list", true);
227
+ const peg$e24 = peg$literalExpectation("map", true);
228
+ const peg$e25 = peg$literalExpectation("to", true);
229
+ const peg$e26 = peg$literalExpectation("text", true);
230
+ const peg$e27 = peg$literalExpectation("int", true);
231
+ const peg$e28 = peg$literalExpectation("float", true);
232
+ const peg$e29 = peg$literalExpectation("bool", true);
233
+ const peg$e30 = peg$classExpectation([["A", "Z"], ["\xC0", "\xD6"], ["\xD8", "\xDE"], ["\u0100", "\u024F"], ["\u4E00", "\u9FFF"], ["\u3400", "\u4DBF"]], false, false, false);
234
+ const peg$e31 = peg$classExpectation([["A", "Z"], ["a", "z"], ["0", "9"], "_", ["\xC0", "\u024F"], ["\u4E00", "\u9FFF"], ["\u3400", "\u4DBF"]], false, false, false);
235
+ const peg$e32 = peg$classExpectation([["a", "z"], ["\xDF", "\xF6"], ["\xF8", "\xFF"], ["\u0100", "\u024F"], ["\u4E00", "\u9FFF"], ["\u3400", "\u4DBF"]], false, false, false);
236
+ const peg$e33 = peg$classExpectation([" ", "\t"], false, false, false);
241
237
 
242
238
  function peg$f0(h) { return h; }
243
239
  function peg$f1(n) { return { kind: 'Module', name: n }; }
244
- function peg$f2(n) { return { kind: 'Module', name: n }; }
245
- function peg$f3(n, a) { return a; }
246
- function peg$f4(n, a) { return { kind: 'Import', name: n, asName: a ?? null }; }
247
- function peg$f5(t, fs) { return { kind: 'Data', name: t, fields: fs }; }
248
- function peg$f6(t, fs) { return { kind: 'Data', name: t, fields: fs }; }
249
- function peg$f7(t, vs) { return { kind: 'Enum', name: t, variants: vs }; }
250
- function peg$f8(n, p, r, eff, end) { return { kind: 'FuncHeader', name: n, params: p ?? [], retType: r, effects: eff ?? [], bodyFollows: end === ':' }; }
251
- function peg$f9(n, p, r, eff, end) { return { kind: 'FuncHeader', name: n, params: p ?? [], retType: r, effects: eff ?? [], bodyFollows: end === ':' }; }
252
- function peg$f10(ps) { return ps; }
253
- function peg$f11() { return ':'; }
254
- function peg$f12() { return '.'; }
255
- function peg$f13(es) { return es; }
256
- function peg$f14(e) { return [e]; }
257
- function peg$f15(e) { return [e]; }
258
- function peg$f16() { return 'io'; }
259
- function peg$f17() { return 'cpu'; }
260
- function peg$f18(ps) { return ps; }
261
- function peg$f19(ps) { return ps; }
262
- function peg$f20(a, b) { return b; }
263
- function peg$f21(a) { return [a].concat(b ?? []); }
264
- function peg$f22(n, t) { return { name: n, type: t }; }
265
- function peg$f23(a, b) { return b; }
266
- function peg$f24(a) { return [a].concat(b ?? []); }
267
- function peg$f25(n, t) { return { name: n, type: t }; }
268
- function peg$f26(a, b) { return b; }
269
- function peg$f27(a) { return [a].concat(b ?? []); }
270
- function peg$f28(t) { return { kind: 'Maybe', type: t }; }
271
- function peg$f29(t) { return { kind: 'Option', type: t }; }
272
- function peg$f30(ok, err) { return { kind: 'Result', ok: ok, err: err }; }
273
- function peg$f31(t) { return { kind: 'List', type: t }; }
274
- function peg$f32(k, v) { return { kind: 'Map', key: k, val: v }; }
275
- function peg$f33(t) { return t; }
276
- function peg$f34(t) { return text(t); }
277
- function peg$f35() { return text('Text'); }
278
- function peg$f36() { return text('Int'); }
279
- function peg$f37() { return text('Float'); }
280
- function peg$f38() { return text('Bool'); }
281
- function peg$f39(a, b) { return b; }
282
- function peg$f40(a) { return [a].concat(b ?? []).join('.'); }
240
+ function peg$f2(n, a) { return a; }
241
+ function peg$f3(n, a) { return { kind: 'Import', name: n, asName: a ?? null }; }
242
+ function peg$f4(t, fs) { return { kind: 'Data', name: t, fields: fs }; }
243
+ function peg$f5(t, vs) { return { kind: 'Enum', name: t, variants: vs }; }
244
+ function peg$f6(n, p, r, eff, end) { return { kind: 'FuncHeader', name: n, params: p ?? [], retType: r, effects: eff ?? [], bodyFollows: end === ':' }; }
245
+ function peg$f7(ps) { return ps; }
246
+ function peg$f8() { return ':'; }
247
+ function peg$f9() { return '.'; }
248
+ function peg$f10(es) { return es; }
249
+ function peg$f11(e) { return [e]; }
250
+ function peg$f12(e) { return [e]; }
251
+ function peg$f13() { return 'io'; }
252
+ function peg$f14() { return 'cpu'; }
253
+ function peg$f15(a, b) { return b; }
254
+ function peg$f16(a) { return [a].concat(b ?? []); }
255
+ function peg$f17(n, t) { return { name: n, type: t }; }
256
+ function peg$f18(a, b) { return b; }
257
+ function peg$f19(a) { return [a].concat(b ?? []); }
258
+ function peg$f20(n, t) { return { name: n, type: t }; }
259
+ function peg$f21(a, b) { return b; }
260
+ function peg$f22(a) { return [a].concat(b ?? []); }
261
+ function peg$f23(t) { return { kind: 'Maybe', type: t }; }
262
+ function peg$f24(t) { return { kind: 'Option', type: t }; }
263
+ function peg$f25(ok, err) { return { kind: 'Result', ok: ok, err: err }; }
264
+ function peg$f26(t) { return { kind: 'List', type: t }; }
265
+ function peg$f27(k, v) { return { kind: 'Map', key: k, val: v }; }
266
+ function peg$f28(t) { return t; }
267
+ function peg$f29(t) { return text(t); }
268
+ function peg$f30() { return text('Text'); }
269
+ function peg$f31() { return text('Int'); }
270
+ function peg$f32() { return text('Float'); }
271
+ function peg$f33() { return text('Bool'); }
272
+ function peg$f34(a, b) { return b; }
273
+ function peg$f35(a) { return [a].concat(b ?? []).join('.'); }
283
274
  let peg$currPos = options.peg$currPos | 0;
284
275
  let peg$savedPos = peg$currPos;
285
276
  const peg$posDetailsCache = [{ line: 1, column: 1 }];
@@ -461,15 +452,9 @@ function peg$parse(input, options) {
461
452
  if (s2 === peg$FAILED) {
462
453
  s2 = peg$parseData();
463
454
  if (s2 === peg$FAILED) {
464
- s2 = peg$parseDataHas();
455
+ s2 = peg$parseEnum();
465
456
  if (s2 === peg$FAILED) {
466
- s2 = peg$parseEnum();
467
- if (s2 === peg$FAILED) {
468
- s2 = peg$parseFuncHeader();
469
- if (s2 === peg$FAILED) {
470
- s2 = peg$parseFuncHeaderLegacy();
471
- }
472
- }
457
+ s2 = peg$parseFuncHeader();
473
458
  }
474
459
  }
475
460
  }
@@ -524,43 +509,6 @@ function peg$parse(input, options) {
524
509
  peg$currPos = s0;
525
510
  s0 = peg$FAILED;
526
511
  }
527
- if (s0 === peg$FAILED) {
528
- s0 = peg$currPos;
529
- s1 = input.substr(peg$currPos, 14);
530
- if (s1.toLowerCase() === peg$c2) {
531
- peg$currPos += (14);
532
- } else {
533
- s1 = peg$FAILED;
534
- if (peg$silentFails === 0) { peg$fail(peg$e2); }
535
- }
536
- if (s1 !== peg$FAILED) {
537
- s2 = peg$parse_();
538
- s3 = peg$parseDottedIdent();
539
- if (s3 !== peg$FAILED) {
540
- s4 = peg$parse_();
541
- if (input.charCodeAt(peg$currPos) === 46) {
542
- s5 = peg$c1;
543
- peg$currPos++;
544
- } else {
545
- s5 = peg$FAILED;
546
- if (peg$silentFails === 0) { peg$fail(peg$e1); }
547
- }
548
- if (s5 !== peg$FAILED) {
549
- peg$savedPos = s0;
550
- s0 = peg$f2(s3);
551
- } else {
552
- peg$currPos = s0;
553
- s0 = peg$FAILED;
554
- }
555
- } else {
556
- peg$currPos = s0;
557
- s0 = peg$FAILED;
558
- }
559
- } else {
560
- peg$currPos = s0;
561
- s0 = peg$FAILED;
562
- }
563
- }
564
512
 
565
513
  return s0;
566
514
  }
@@ -570,11 +518,11 @@ function peg$parse(input, options) {
570
518
 
571
519
  s0 = peg$currPos;
572
520
  s1 = input.substr(peg$currPos, 3);
573
- if (s1.toLowerCase() === peg$c3) {
521
+ if (s1.toLowerCase() === peg$c2) {
574
522
  peg$currPos += (3);
575
523
  } else {
576
524
  s1 = peg$FAILED;
577
- if (peg$silentFails === 0) { peg$fail(peg$e3); }
525
+ if (peg$silentFails === 0) { peg$fail(peg$e2); }
578
526
  }
579
527
  if (s1 !== peg$FAILED) {
580
528
  s2 = peg$parse_();
@@ -583,18 +531,18 @@ function peg$parse(input, options) {
583
531
  s4 = peg$parse_();
584
532
  s5 = peg$currPos;
585
533
  s6 = input.substr(peg$currPos, 2);
586
- if (s6.toLowerCase() === peg$c4) {
534
+ if (s6.toLowerCase() === peg$c3) {
587
535
  peg$currPos += (2);
588
536
  } else {
589
537
  s6 = peg$FAILED;
590
- if (peg$silentFails === 0) { peg$fail(peg$e4); }
538
+ if (peg$silentFails === 0) { peg$fail(peg$e3); }
591
539
  }
592
540
  if (s6 !== peg$FAILED) {
593
541
  s7 = peg$parse_();
594
542
  s8 = peg$parseIdent();
595
543
  if (s8 !== peg$FAILED) {
596
544
  peg$savedPos = s5;
597
- s5 = peg$f3(s3, s8);
545
+ s5 = peg$f2(s3, s8);
598
546
  } else {
599
547
  peg$currPos = s5;
600
548
  s5 = peg$FAILED;
@@ -616,7 +564,7 @@ function peg$parse(input, options) {
616
564
  }
617
565
  if (s7 !== peg$FAILED) {
618
566
  peg$savedPos = s0;
619
- s0 = peg$f4(s3, s5);
567
+ s0 = peg$f3(s3, s5);
620
568
  } else {
621
569
  peg$currPos = s0;
622
570
  s0 = peg$FAILED;
@@ -633,16 +581,16 @@ function peg$parse(input, options) {
633
581
  return s0;
634
582
  }
635
583
 
636
- function peg$parseDataHas() {
584
+ function peg$parseData() {
637
585
  let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
638
586
 
639
587
  s0 = peg$currPos;
640
588
  s1 = input.substr(peg$currPos, 6);
641
- if (s1.toLowerCase() === peg$c5) {
589
+ if (s1.toLowerCase() === peg$c4) {
642
590
  peg$currPos += (6);
643
591
  } else {
644
592
  s1 = peg$FAILED;
645
- if (peg$silentFails === 0) { peg$fail(peg$e5); }
593
+ if (peg$silentFails === 0) { peg$fail(peg$e4); }
646
594
  }
647
595
  if (s1 !== peg$FAILED) {
648
596
  s2 = peg$parse_();
@@ -650,73 +598,11 @@ function peg$parse(input, options) {
650
598
  if (s3 !== peg$FAILED) {
651
599
  s4 = peg$parse_();
652
600
  s5 = input.substr(peg$currPos, 3);
653
- if (s5.toLowerCase() === peg$c6) {
601
+ if (s5.toLowerCase() === peg$c5) {
654
602
  peg$currPos += (3);
655
603
  } else {
656
604
  s5 = peg$FAILED;
657
- if (peg$silentFails === 0) { peg$fail(peg$e6); }
658
- }
659
- if (s5 !== peg$FAILED) {
660
- s6 = peg$parse_();
661
- s7 = peg$parseFieldList();
662
- if (s7 !== peg$FAILED) {
663
- s8 = peg$parse_();
664
- if (input.charCodeAt(peg$currPos) === 46) {
665
- s9 = peg$c1;
666
- peg$currPos++;
667
- } else {
668
- s9 = peg$FAILED;
669
- if (peg$silentFails === 0) { peg$fail(peg$e1); }
670
- }
671
- if (s9 !== peg$FAILED) {
672
- peg$savedPos = s0;
673
- s0 = peg$f5(s3, s7);
674
- } else {
675
- peg$currPos = s0;
676
- s0 = peg$FAILED;
677
- }
678
- } else {
679
- peg$currPos = s0;
680
- s0 = peg$FAILED;
681
- }
682
- } else {
683
- peg$currPos = s0;
684
- s0 = peg$FAILED;
685
- }
686
- } else {
687
- peg$currPos = s0;
688
- s0 = peg$FAILED;
689
- }
690
- } else {
691
- peg$currPos = s0;
692
- s0 = peg$FAILED;
693
- }
694
-
695
- return s0;
696
- }
697
-
698
- function peg$parseData() {
699
- let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
700
-
701
- s0 = peg$currPos;
702
- s1 = input.substr(peg$currPos, 6);
703
- if (s1.toLowerCase() === peg$c5) {
704
- peg$currPos += (6);
705
- } else {
706
- s1 = peg$FAILED;
707
- if (peg$silentFails === 0) { peg$fail(peg$e5); }
708
- }
709
- if (s1 !== peg$FAILED) {
710
- s2 = peg$parse_();
711
- s3 = peg$parseTypeIdent();
712
- if (s3 !== peg$FAILED) {
713
- s4 = peg$parse_();
714
- s5 = input.substr(peg$currPos, 4);
715
- if (s5.toLowerCase() === peg$c7) {
716
- peg$currPos += (4);
717
- } else {
718
- s5 = peg$FAILED;
719
- if (peg$silentFails === 0) { peg$fail(peg$e7); }
605
+ if (peg$silentFails === 0) { peg$fail(peg$e5); }
720
606
  }
721
607
  if (s5 !== peg$FAILED) {
722
608
  s6 = peg$parse_();
@@ -732,7 +618,7 @@ function peg$parse(input, options) {
732
618
  }
733
619
  if (s9 !== peg$FAILED) {
734
620
  peg$savedPos = s0;
735
- s0 = peg$f6(s3, s7);
621
+ s0 = peg$f4(s3, s7);
736
622
  } else {
737
623
  peg$currPos = s0;
738
624
  s0 = peg$FAILED;
@@ -762,11 +648,11 @@ function peg$parse(input, options) {
762
648
 
763
649
  s0 = peg$currPos;
764
650
  s1 = input.substr(peg$currPos, 6);
765
- if (s1.toLowerCase() === peg$c5) {
651
+ if (s1.toLowerCase() === peg$c4) {
766
652
  peg$currPos += (6);
767
653
  } else {
768
654
  s1 = peg$FAILED;
769
- if (peg$silentFails === 0) { peg$fail(peg$e5); }
655
+ if (peg$silentFails === 0) { peg$fail(peg$e4); }
770
656
  }
771
657
  if (s1 !== peg$FAILED) {
772
658
  s2 = peg$parse_();
@@ -774,29 +660,29 @@ function peg$parse(input, options) {
774
660
  if (s3 !== peg$FAILED) {
775
661
  s4 = peg$parse_();
776
662
  s5 = input.substr(peg$currPos, 2);
777
- if (s5.toLowerCase() === peg$c4) {
663
+ if (s5.toLowerCase() === peg$c3) {
778
664
  peg$currPos += (2);
779
665
  } else {
780
666
  s5 = peg$FAILED;
781
- if (peg$silentFails === 0) { peg$fail(peg$e4); }
667
+ if (peg$silentFails === 0) { peg$fail(peg$e3); }
782
668
  }
783
669
  if (s5 !== peg$FAILED) {
784
670
  s6 = peg$parse_();
785
671
  s7 = input.substr(peg$currPos, 3);
786
- if (s7.toLowerCase() === peg$c8) {
672
+ if (s7.toLowerCase() === peg$c6) {
787
673
  peg$currPos += (3);
788
674
  } else {
789
675
  s7 = peg$FAILED;
790
- if (peg$silentFails === 0) { peg$fail(peg$e8); }
676
+ if (peg$silentFails === 0) { peg$fail(peg$e6); }
791
677
  }
792
678
  if (s7 !== peg$FAILED) {
793
679
  s8 = peg$parse_();
794
680
  s9 = input.substr(peg$currPos, 2);
795
- if (s9.toLowerCase() === peg$c9) {
681
+ if (s9.toLowerCase() === peg$c7) {
796
682
  peg$currPos += (2);
797
683
  } else {
798
684
  s9 = peg$FAILED;
799
- if (peg$silentFails === 0) { peg$fail(peg$e9); }
685
+ if (peg$silentFails === 0) { peg$fail(peg$e7); }
800
686
  }
801
687
  if (s9 !== peg$FAILED) {
802
688
  s10 = peg$parse_();
@@ -812,7 +698,7 @@ function peg$parse(input, options) {
812
698
  }
813
699
  if (s13 !== peg$FAILED) {
814
700
  peg$savedPos = s0;
815
- s0 = peg$f7(s3, s11);
701
+ s0 = peg$f5(s3, s11);
816
702
  } else {
817
703
  peg$currPos = s0;
818
704
  s0 = peg$FAILED;
@@ -850,11 +736,11 @@ function peg$parse(input, options) {
850
736
 
851
737
  s0 = peg$currPos;
852
738
  s1 = input.substr(peg$currPos, 4);
853
- if (s1.toLowerCase() === peg$c10) {
739
+ if (s1.toLowerCase() === peg$c8) {
854
740
  peg$currPos += (4);
855
741
  } else {
856
742
  s1 = peg$FAILED;
857
- if (peg$silentFails === 0) { peg$fail(peg$e10); }
743
+ if (peg$silentFails === 0) { peg$fail(peg$e8); }
858
744
  }
859
745
  if (s1 !== peg$FAILED) {
860
746
  s2 = peg$parse_();
@@ -867,99 +753,20 @@ function peg$parse(input, options) {
867
753
  }
868
754
  s6 = peg$parse_();
869
755
  if (input.charCodeAt(peg$currPos) === 44) {
870
- s7 = peg$c11;
756
+ s7 = peg$c9;
871
757
  peg$currPos++;
872
758
  } else {
873
759
  s7 = peg$FAILED;
874
- if (peg$silentFails === 0) { peg$fail(peg$e11); }
875
- }
876
- if (s7 !== peg$FAILED) {
877
- s8 = peg$parse_();
878
- s9 = input.substr(peg$currPos, 7);
879
- if (s9.toLowerCase() === peg$c12) {
880
- peg$currPos += (7);
881
- } else {
882
- s9 = peg$FAILED;
883
- if (peg$silentFails === 0) { peg$fail(peg$e12); }
884
- }
885
- if (s9 !== peg$FAILED) {
886
- s10 = peg$parse_();
887
- s11 = peg$parseType();
888
- if (s11 !== peg$FAILED) {
889
- s12 = peg$parse_();
890
- s13 = peg$parseEffectPart();
891
- if (s13 === peg$FAILED) {
892
- s13 = null;
893
- }
894
- s14 = peg$parse_();
895
- s15 = peg$parseHeaderEnd();
896
- if (s15 !== peg$FAILED) {
897
- peg$savedPos = s0;
898
- s0 = peg$f8(s3, s5, s11, s13, s15);
899
- } else {
900
- peg$currPos = s0;
901
- s0 = peg$FAILED;
902
- }
903
- } else {
904
- peg$currPos = s0;
905
- s0 = peg$FAILED;
906
- }
907
- } else {
908
- peg$currPos = s0;
909
- s0 = peg$FAILED;
910
- }
911
- } else {
912
- peg$currPos = s0;
913
- s0 = peg$FAILED;
914
- }
915
- } else {
916
- peg$currPos = s0;
917
- s0 = peg$FAILED;
918
- }
919
- } else {
920
- peg$currPos = s0;
921
- s0 = peg$FAILED;
922
- }
923
-
924
- return s0;
925
- }
926
-
927
- function peg$parseFuncHeaderLegacy() {
928
- let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15;
929
-
930
- s0 = peg$currPos;
931
- s1 = input.substr(peg$currPos, 2);
932
- if (s1.toLowerCase() === peg$c13) {
933
- peg$currPos += (2);
934
- } else {
935
- s1 = peg$FAILED;
936
- if (peg$silentFails === 0) { peg$fail(peg$e13); }
937
- }
938
- if (s1 !== peg$FAILED) {
939
- s2 = peg$parse_();
940
- s3 = peg$parseIdent();
941
- if (s3 !== peg$FAILED) {
942
- s4 = peg$parse_();
943
- s5 = peg$parseParamPart();
944
- if (s5 === peg$FAILED) {
945
- s5 = null;
946
- }
947
- s6 = peg$parse_();
948
- if (input.charCodeAt(peg$currPos) === 44) {
949
- s7 = peg$c11;
950
- peg$currPos++;
951
- } else {
952
- s7 = peg$FAILED;
953
- if (peg$silentFails === 0) { peg$fail(peg$e11); }
760
+ if (peg$silentFails === 0) { peg$fail(peg$e9); }
954
761
  }
955
762
  if (s7 !== peg$FAILED) {
956
763
  s8 = peg$parse_();
957
764
  s9 = input.substr(peg$currPos, 7);
958
- if (s9.toLowerCase() === peg$c12) {
765
+ if (s9.toLowerCase() === peg$c10) {
959
766
  peg$currPos += (7);
960
767
  } else {
961
768
  s9 = peg$FAILED;
962
- if (peg$silentFails === 0) { peg$fail(peg$e12); }
769
+ if (peg$silentFails === 0) { peg$fail(peg$e10); }
963
770
  }
964
771
  if (s9 !== peg$FAILED) {
965
772
  s10 = peg$parse_();
@@ -974,7 +781,7 @@ function peg$parse(input, options) {
974
781
  s15 = peg$parseHeaderEnd();
975
782
  if (s15 !== peg$FAILED) {
976
783
  peg$savedPos = s0;
977
- s0 = peg$f9(s3, s5, s11, s13, s15);
784
+ s0 = peg$f6(s3, s5, s11, s13, s15);
978
785
  } else {
979
786
  peg$currPos = s0;
980
787
  s0 = peg$FAILED;
@@ -1009,18 +816,18 @@ function peg$parse(input, options) {
1009
816
  s0 = peg$currPos;
1010
817
  s1 = peg$parse_();
1011
818
  s2 = input.substr(peg$currPos, 5);
1012
- if (s2.toLowerCase() === peg$c14) {
819
+ if (s2.toLowerCase() === peg$c11) {
1013
820
  peg$currPos += (5);
1014
821
  } else {
1015
822
  s2 = peg$FAILED;
1016
- if (peg$silentFails === 0) { peg$fail(peg$e14); }
823
+ if (peg$silentFails === 0) { peg$fail(peg$e11); }
1017
824
  }
1018
825
  if (s2 !== peg$FAILED) {
1019
826
  s3 = peg$parse_();
1020
827
  s4 = peg$parseParamList();
1021
828
  if (s4 !== peg$FAILED) {
1022
829
  peg$savedPos = s0;
1023
- s0 = peg$f10(s4);
830
+ s0 = peg$f7(s4);
1024
831
  } else {
1025
832
  peg$currPos = s0;
1026
833
  s0 = peg$FAILED;
@@ -1038,15 +845,15 @@ function peg$parse(input, options) {
1038
845
 
1039
846
  s0 = peg$currPos;
1040
847
  if (input.charCodeAt(peg$currPos) === 58) {
1041
- s1 = peg$c15;
848
+ s1 = peg$c12;
1042
849
  peg$currPos++;
1043
850
  } else {
1044
851
  s1 = peg$FAILED;
1045
- if (peg$silentFails === 0) { peg$fail(peg$e15); }
852
+ if (peg$silentFails === 0) { peg$fail(peg$e12); }
1046
853
  }
1047
854
  if (s1 !== peg$FAILED) {
1048
855
  peg$savedPos = s0;
1049
- s1 = peg$f11();
856
+ s1 = peg$f8();
1050
857
  }
1051
858
  s0 = s1;
1052
859
  if (s0 === peg$FAILED) {
@@ -1060,7 +867,7 @@ function peg$parse(input, options) {
1060
867
  }
1061
868
  if (s1 !== peg$FAILED) {
1062
869
  peg$savedPos = s0;
1063
- s1 = peg$f12();
870
+ s1 = peg$f9();
1064
871
  }
1065
872
  s0 = s1;
1066
873
  }
@@ -1075,11 +882,11 @@ function peg$parse(input, options) {
1075
882
  s1 = peg$parse_();
1076
883
  s2 = peg$currPos;
1077
884
  s3 = input.substr(peg$currPos, 2);
1078
- if (s3.toLowerCase() === peg$c16) {
885
+ if (s3.toLowerCase() === peg$c13) {
1079
886
  peg$currPos += (2);
1080
887
  } else {
1081
888
  s3 = peg$FAILED;
1082
- if (peg$silentFails === 0) { peg$fail(peg$e16); }
889
+ if (peg$silentFails === 0) { peg$fail(peg$e13); }
1083
890
  }
1084
891
  if (s3 !== peg$FAILED) {
1085
892
  s4 = peg$parse_();
@@ -1093,11 +900,11 @@ function peg$parse(input, options) {
1093
900
  s2 = null;
1094
901
  }
1095
902
  s3 = input.substr(peg$currPos, 8);
1096
- if (s3.toLowerCase() === peg$c17) {
903
+ if (s3.toLowerCase() === peg$c14) {
1097
904
  peg$currPos += (8);
1098
905
  } else {
1099
906
  s3 = peg$FAILED;
1100
- if (peg$silentFails === 0) { peg$fail(peg$e17); }
907
+ if (peg$silentFails === 0) { peg$fail(peg$e14); }
1101
908
  }
1102
909
  if (s3 !== peg$FAILED) {
1103
910
  s4 = peg$parse_();
@@ -1109,11 +916,11 @@ function peg$parse(input, options) {
1109
916
  peg$currPos++;
1110
917
  } else {
1111
918
  s7 = peg$FAILED;
1112
- if (peg$silentFails === 0) { peg$fail(peg$e18); }
919
+ if (peg$silentFails === 0) { peg$fail(peg$e15); }
1113
920
  }
1114
921
  if (s7 !== peg$FAILED) {
1115
922
  peg$savedPos = s0;
1116
- s0 = peg$f13(s5);
923
+ s0 = peg$f10(s5);
1117
924
  } else {
1118
925
  peg$currPos = s0;
1119
926
  s0 = peg$FAILED;
@@ -1140,11 +947,11 @@ function peg$parse(input, options) {
1140
947
  s3 = peg$currPos;
1141
948
  s4 = peg$parse_();
1142
949
  if (input.charCodeAt(peg$currPos) === 44) {
1143
- s5 = peg$c11;
950
+ s5 = peg$c9;
1144
951
  peg$currPos++;
1145
952
  } else {
1146
953
  s5 = peg$FAILED;
1147
- if (peg$silentFails === 0) { peg$fail(peg$e11); }
954
+ if (peg$silentFails === 0) { peg$fail(peg$e9); }
1148
955
  }
1149
956
  if (s5 !== peg$FAILED) {
1150
957
  s6 = peg$parse_();
@@ -1165,11 +972,11 @@ function peg$parse(input, options) {
1165
972
  s3 = peg$currPos;
1166
973
  s4 = peg$parse_();
1167
974
  if (input.charCodeAt(peg$currPos) === 44) {
1168
- s5 = peg$c11;
975
+ s5 = peg$c9;
1169
976
  peg$currPos++;
1170
977
  } else {
1171
978
  s5 = peg$FAILED;
1172
- if (peg$silentFails === 0) { peg$fail(peg$e11); }
979
+ if (peg$silentFails === 0) { peg$fail(peg$e9); }
1173
980
  }
1174
981
  if (s5 !== peg$FAILED) {
1175
982
  s6 = peg$parse_();
@@ -1187,7 +994,7 @@ function peg$parse(input, options) {
1187
994
  }
1188
995
  }
1189
996
  peg$savedPos = s0;
1190
- s0 = peg$f14(s1);
997
+ s0 = peg$f11(s1);
1191
998
  } else {
1192
999
  peg$currPos = s0;
1193
1000
  s0 = peg$FAILED;
@@ -1221,7 +1028,7 @@ function peg$parse(input, options) {
1221
1028
  }
1222
1029
  }
1223
1030
  peg$savedPos = s0;
1224
- s0 = peg$f15(s1);
1031
+ s0 = peg$f12(s1);
1225
1032
  } else {
1226
1033
  peg$currPos = s0;
1227
1034
  s0 = peg$FAILED;
@@ -1236,29 +1043,29 @@ function peg$parse(input, options) {
1236
1043
 
1237
1044
  s0 = peg$currPos;
1238
1045
  s1 = input.substr(peg$currPos, 2);
1239
- if (s1.toLowerCase() === peg$c18) {
1046
+ if (s1.toLowerCase() === peg$c15) {
1240
1047
  peg$currPos += (2);
1241
1048
  } else {
1242
1049
  s1 = peg$FAILED;
1243
- if (peg$silentFails === 0) { peg$fail(peg$e19); }
1050
+ if (peg$silentFails === 0) { peg$fail(peg$e16); }
1244
1051
  }
1245
1052
  if (s1 !== peg$FAILED) {
1246
1053
  peg$savedPos = s0;
1247
- s1 = peg$f16();
1054
+ s1 = peg$f13();
1248
1055
  }
1249
1056
  s0 = s1;
1250
1057
  if (s0 === peg$FAILED) {
1251
1058
  s0 = peg$currPos;
1252
1059
  s1 = input.substr(peg$currPos, 3);
1253
- if (s1.toLowerCase() === peg$c19) {
1060
+ if (s1.toLowerCase() === peg$c16) {
1254
1061
  peg$currPos += (3);
1255
1062
  } else {
1256
1063
  s1 = peg$FAILED;
1257
- if (peg$silentFails === 0) { peg$fail(peg$e20); }
1064
+ if (peg$silentFails === 0) { peg$fail(peg$e17); }
1258
1065
  }
1259
1066
  if (s1 !== peg$FAILED) {
1260
1067
  peg$savedPos = s0;
1261
- s1 = peg$f17();
1068
+ s1 = peg$f14();
1262
1069
  }
1263
1070
  s0 = s1;
1264
1071
  }
@@ -1266,48 +1073,6 @@ function peg$parse(input, options) {
1266
1073
  return s0;
1267
1074
  }
1268
1075
 
1269
- function peg$parseParamPart() {
1270
- let s0, s1, s2, s3, s4;
1271
-
1272
- s0 = peg$currPos;
1273
- s1 = peg$parse_();
1274
- s2 = input.substr(peg$currPos, 4);
1275
- if (s2.toLowerCase() === peg$c7) {
1276
- peg$currPos += (4);
1277
- } else {
1278
- s2 = peg$FAILED;
1279
- if (peg$silentFails === 0) { peg$fail(peg$e7); }
1280
- }
1281
- if (s2 !== peg$FAILED) {
1282
- s3 = peg$parse_();
1283
- s4 = peg$parseParamList();
1284
- if (s4 !== peg$FAILED) {
1285
- peg$savedPos = s0;
1286
- s0 = peg$f18(s4);
1287
- } else {
1288
- peg$currPos = s0;
1289
- s0 = peg$FAILED;
1290
- }
1291
- } else {
1292
- peg$currPos = s0;
1293
- s0 = peg$FAILED;
1294
- }
1295
- if (s0 === peg$FAILED) {
1296
- s0 = peg$currPos;
1297
- s1 = peg$parse_();
1298
- s2 = peg$parseParamList();
1299
- if (s2 !== peg$FAILED) {
1300
- peg$savedPos = s0;
1301
- s0 = peg$f19(s2);
1302
- } else {
1303
- peg$currPos = s0;
1304
- s0 = peg$FAILED;
1305
- }
1306
- }
1307
-
1308
- return s0;
1309
- }
1310
-
1311
1076
  function peg$parseParamList() {
1312
1077
  let s0, s1, s2, s3, s4, s5, s6, s7;
1313
1078
 
@@ -1318,18 +1083,18 @@ function peg$parse(input, options) {
1318
1083
  s3 = peg$currPos;
1319
1084
  s4 = peg$parse_();
1320
1085
  s5 = input.substr(peg$currPos, 3);
1321
- if (s5.toLowerCase() === peg$c20) {
1086
+ if (s5.toLowerCase() === peg$c17) {
1322
1087
  peg$currPos += (3);
1323
1088
  } else {
1324
1089
  s5 = peg$FAILED;
1325
- if (peg$silentFails === 0) { peg$fail(peg$e21); }
1090
+ if (peg$silentFails === 0) { peg$fail(peg$e18); }
1326
1091
  }
1327
1092
  if (s5 !== peg$FAILED) {
1328
1093
  s6 = peg$parse_();
1329
1094
  s7 = peg$parseParam();
1330
1095
  if (s7 !== peg$FAILED) {
1331
1096
  peg$savedPos = s3;
1332
- s3 = peg$f20(s1, s7);
1097
+ s3 = peg$f15(s1, s7);
1333
1098
  } else {
1334
1099
  peg$currPos = s3;
1335
1100
  s3 = peg$FAILED;
@@ -1343,18 +1108,18 @@ function peg$parse(input, options) {
1343
1108
  s3 = peg$currPos;
1344
1109
  s4 = peg$parse_();
1345
1110
  s5 = input.substr(peg$currPos, 3);
1346
- if (s5.toLowerCase() === peg$c20) {
1111
+ if (s5.toLowerCase() === peg$c17) {
1347
1112
  peg$currPos += (3);
1348
1113
  } else {
1349
1114
  s5 = peg$FAILED;
1350
- if (peg$silentFails === 0) { peg$fail(peg$e21); }
1115
+ if (peg$silentFails === 0) { peg$fail(peg$e18); }
1351
1116
  }
1352
1117
  if (s5 !== peg$FAILED) {
1353
1118
  s6 = peg$parse_();
1354
1119
  s7 = peg$parseParam();
1355
1120
  if (s7 !== peg$FAILED) {
1356
1121
  peg$savedPos = s3;
1357
- s3 = peg$f20(s1, s7);
1122
+ s3 = peg$f15(s1, s7);
1358
1123
  } else {
1359
1124
  peg$currPos = s3;
1360
1125
  s3 = peg$FAILED;
@@ -1365,7 +1130,7 @@ function peg$parse(input, options) {
1365
1130
  }
1366
1131
  }
1367
1132
  peg$savedPos = s0;
1368
- s0 = peg$f21(s1);
1133
+ s0 = peg$f16(s1);
1369
1134
  } else {
1370
1135
  peg$currPos = s0;
1371
1136
  s0 = peg$FAILED;
@@ -1381,19 +1146,19 @@ function peg$parse(input, options) {
1381
1146
  s1 = peg$parseIdent();
1382
1147
  if (s1 !== peg$FAILED) {
1383
1148
  s2 = peg$parse_();
1384
- if (input.charCodeAt(peg$currPos) === 58) {
1385
- s3 = peg$c15;
1386
- peg$currPos++;
1149
+ s3 = input.substr(peg$currPos, 2);
1150
+ if (s3.toLowerCase() === peg$c3) {
1151
+ peg$currPos += (2);
1387
1152
  } else {
1388
1153
  s3 = peg$FAILED;
1389
- if (peg$silentFails === 0) { peg$fail(peg$e15); }
1154
+ if (peg$silentFails === 0) { peg$fail(peg$e3); }
1390
1155
  }
1391
1156
  if (s3 !== peg$FAILED) {
1392
1157
  s4 = peg$parse_();
1393
1158
  s5 = peg$parseType();
1394
1159
  if (s5 !== peg$FAILED) {
1395
1160
  peg$savedPos = s0;
1396
- s0 = peg$f22(s1, s5);
1161
+ s0 = peg$f17(s1, s5);
1397
1162
  } else {
1398
1163
  peg$currPos = s0;
1399
1164
  s0 = peg$FAILED;
@@ -1420,18 +1185,18 @@ function peg$parse(input, options) {
1420
1185
  s3 = peg$currPos;
1421
1186
  s4 = peg$parse_();
1422
1187
  s5 = input.substr(peg$currPos, 3);
1423
- if (s5.toLowerCase() === peg$c20) {
1188
+ if (s5.toLowerCase() === peg$c17) {
1424
1189
  peg$currPos += (3);
1425
1190
  } else {
1426
1191
  s5 = peg$FAILED;
1427
- if (peg$silentFails === 0) { peg$fail(peg$e21); }
1192
+ if (peg$silentFails === 0) { peg$fail(peg$e18); }
1428
1193
  }
1429
1194
  if (s5 !== peg$FAILED) {
1430
1195
  s6 = peg$parse_();
1431
1196
  s7 = peg$parseField();
1432
1197
  if (s7 !== peg$FAILED) {
1433
1198
  peg$savedPos = s3;
1434
- s3 = peg$f23(s1, s7);
1199
+ s3 = peg$f18(s1, s7);
1435
1200
  } else {
1436
1201
  peg$currPos = s3;
1437
1202
  s3 = peg$FAILED;
@@ -1445,18 +1210,18 @@ function peg$parse(input, options) {
1445
1210
  s3 = peg$currPos;
1446
1211
  s4 = peg$parse_();
1447
1212
  s5 = input.substr(peg$currPos, 3);
1448
- if (s5.toLowerCase() === peg$c20) {
1213
+ if (s5.toLowerCase() === peg$c17) {
1449
1214
  peg$currPos += (3);
1450
1215
  } else {
1451
1216
  s5 = peg$FAILED;
1452
- if (peg$silentFails === 0) { peg$fail(peg$e21); }
1217
+ if (peg$silentFails === 0) { peg$fail(peg$e18); }
1453
1218
  }
1454
1219
  if (s5 !== peg$FAILED) {
1455
1220
  s6 = peg$parse_();
1456
1221
  s7 = peg$parseField();
1457
1222
  if (s7 !== peg$FAILED) {
1458
1223
  peg$savedPos = s3;
1459
- s3 = peg$f23(s1, s7);
1224
+ s3 = peg$f18(s1, s7);
1460
1225
  } else {
1461
1226
  peg$currPos = s3;
1462
1227
  s3 = peg$FAILED;
@@ -1467,7 +1232,7 @@ function peg$parse(input, options) {
1467
1232
  }
1468
1233
  }
1469
1234
  peg$savedPos = s0;
1470
- s0 = peg$f24(s1);
1235
+ s0 = peg$f19(s1);
1471
1236
  } else {
1472
1237
  peg$currPos = s0;
1473
1238
  s0 = peg$FAILED;
@@ -1483,19 +1248,19 @@ function peg$parse(input, options) {
1483
1248
  s1 = peg$parseIdent();
1484
1249
  if (s1 !== peg$FAILED) {
1485
1250
  s2 = peg$parse_();
1486
- if (input.charCodeAt(peg$currPos) === 58) {
1487
- s3 = peg$c15;
1488
- peg$currPos++;
1251
+ s3 = input.substr(peg$currPos, 2);
1252
+ if (s3.toLowerCase() === peg$c3) {
1253
+ peg$currPos += (2);
1489
1254
  } else {
1490
1255
  s3 = peg$FAILED;
1491
- if (peg$silentFails === 0) { peg$fail(peg$e15); }
1256
+ if (peg$silentFails === 0) { peg$fail(peg$e3); }
1492
1257
  }
1493
1258
  if (s3 !== peg$FAILED) {
1494
1259
  s4 = peg$parse_();
1495
1260
  s5 = peg$parseType();
1496
1261
  if (s5 !== peg$FAILED) {
1497
1262
  peg$savedPos = s0;
1498
- s0 = peg$f25(s1, s5);
1263
+ s0 = peg$f20(s1, s5);
1499
1264
  } else {
1500
1265
  peg$currPos = s0;
1501
1266
  s0 = peg$FAILED;
@@ -1522,19 +1287,19 @@ function peg$parse(input, options) {
1522
1287
  s3 = peg$currPos;
1523
1288
  s4 = peg$parse_();
1524
1289
  if (input.charCodeAt(peg$currPos) === 44) {
1525
- s5 = peg$c11;
1290
+ s5 = peg$c9;
1526
1291
  peg$currPos++;
1527
1292
  } else {
1528
1293
  s5 = peg$FAILED;
1529
- if (peg$silentFails === 0) { peg$fail(peg$e11); }
1294
+ if (peg$silentFails === 0) { peg$fail(peg$e9); }
1530
1295
  }
1531
1296
  if (s5 === peg$FAILED) {
1532
1297
  s5 = input.substr(peg$currPos, 2);
1533
- if (s5.toLowerCase() === peg$c21) {
1298
+ if (s5.toLowerCase() === peg$c18) {
1534
1299
  peg$currPos += (2);
1535
1300
  } else {
1536
1301
  s5 = peg$FAILED;
1537
- if (peg$silentFails === 0) { peg$fail(peg$e22); }
1302
+ if (peg$silentFails === 0) { peg$fail(peg$e19); }
1538
1303
  }
1539
1304
  }
1540
1305
  if (s5 !== peg$FAILED) {
@@ -1542,7 +1307,7 @@ function peg$parse(input, options) {
1542
1307
  s7 = peg$parseTypeIdent();
1543
1308
  if (s7 !== peg$FAILED) {
1544
1309
  peg$savedPos = s3;
1545
- s3 = peg$f26(s1, s7);
1310
+ s3 = peg$f21(s1, s7);
1546
1311
  } else {
1547
1312
  peg$currPos = s3;
1548
1313
  s3 = peg$FAILED;
@@ -1556,19 +1321,19 @@ function peg$parse(input, options) {
1556
1321
  s3 = peg$currPos;
1557
1322
  s4 = peg$parse_();
1558
1323
  if (input.charCodeAt(peg$currPos) === 44) {
1559
- s5 = peg$c11;
1324
+ s5 = peg$c9;
1560
1325
  peg$currPos++;
1561
1326
  } else {
1562
1327
  s5 = peg$FAILED;
1563
- if (peg$silentFails === 0) { peg$fail(peg$e11); }
1328
+ if (peg$silentFails === 0) { peg$fail(peg$e9); }
1564
1329
  }
1565
1330
  if (s5 === peg$FAILED) {
1566
1331
  s5 = input.substr(peg$currPos, 2);
1567
- if (s5.toLowerCase() === peg$c21) {
1332
+ if (s5.toLowerCase() === peg$c18) {
1568
1333
  peg$currPos += (2);
1569
1334
  } else {
1570
1335
  s5 = peg$FAILED;
1571
- if (peg$silentFails === 0) { peg$fail(peg$e22); }
1336
+ if (peg$silentFails === 0) { peg$fail(peg$e19); }
1572
1337
  }
1573
1338
  }
1574
1339
  if (s5 !== peg$FAILED) {
@@ -1576,7 +1341,7 @@ function peg$parse(input, options) {
1576
1341
  s7 = peg$parseTypeIdent();
1577
1342
  if (s7 !== peg$FAILED) {
1578
1343
  peg$savedPos = s3;
1579
- s3 = peg$f26(s1, s7);
1344
+ s3 = peg$f21(s1, s7);
1580
1345
  } else {
1581
1346
  peg$currPos = s3;
1582
1347
  s3 = peg$FAILED;
@@ -1587,7 +1352,7 @@ function peg$parse(input, options) {
1587
1352
  }
1588
1353
  }
1589
1354
  peg$savedPos = s0;
1590
- s0 = peg$f27(s1);
1355
+ s0 = peg$f22(s1);
1591
1356
  } else {
1592
1357
  peg$currPos = s0;
1593
1358
  s0 = peg$FAILED;
@@ -1601,18 +1366,18 @@ function peg$parse(input, options) {
1601
1366
 
1602
1367
  s0 = peg$currPos;
1603
1368
  s1 = input.substr(peg$currPos, 5);
1604
- if (s1.toLowerCase() === peg$c22) {
1369
+ if (s1.toLowerCase() === peg$c19) {
1605
1370
  peg$currPos += (5);
1606
1371
  } else {
1607
1372
  s1 = peg$FAILED;
1608
- if (peg$silentFails === 0) { peg$fail(peg$e23); }
1373
+ if (peg$silentFails === 0) { peg$fail(peg$e20); }
1609
1374
  }
1610
1375
  if (s1 !== peg$FAILED) {
1611
1376
  s2 = peg$parse_();
1612
1377
  s3 = peg$parseType();
1613
1378
  if (s3 !== peg$FAILED) {
1614
1379
  peg$savedPos = s0;
1615
- s0 = peg$f28(s3);
1380
+ s0 = peg$f23(s3);
1616
1381
  } else {
1617
1382
  peg$currPos = s0;
1618
1383
  s0 = peg$FAILED;
@@ -1624,27 +1389,27 @@ function peg$parse(input, options) {
1624
1389
  if (s0 === peg$FAILED) {
1625
1390
  s0 = peg$currPos;
1626
1391
  s1 = input.substr(peg$currPos, 6);
1627
- if (s1.toLowerCase() === peg$c23) {
1392
+ if (s1.toLowerCase() === peg$c20) {
1628
1393
  peg$currPos += (6);
1629
1394
  } else {
1630
1395
  s1 = peg$FAILED;
1631
- if (peg$silentFails === 0) { peg$fail(peg$e24); }
1396
+ if (peg$silentFails === 0) { peg$fail(peg$e21); }
1632
1397
  }
1633
1398
  if (s1 !== peg$FAILED) {
1634
1399
  s2 = peg$parse_();
1635
1400
  s3 = input.substr(peg$currPos, 2);
1636
- if (s3.toLowerCase() === peg$c9) {
1401
+ if (s3.toLowerCase() === peg$c7) {
1637
1402
  peg$currPos += (2);
1638
1403
  } else {
1639
1404
  s3 = peg$FAILED;
1640
- if (peg$silentFails === 0) { peg$fail(peg$e9); }
1405
+ if (peg$silentFails === 0) { peg$fail(peg$e7); }
1641
1406
  }
1642
1407
  if (s3 !== peg$FAILED) {
1643
1408
  s4 = peg$parse_();
1644
1409
  s5 = peg$parseType();
1645
1410
  if (s5 !== peg$FAILED) {
1646
1411
  peg$savedPos = s0;
1647
- s0 = peg$f29(s5);
1412
+ s0 = peg$f24(s5);
1648
1413
  } else {
1649
1414
  peg$currPos = s0;
1650
1415
  s0 = peg$FAILED;
@@ -1660,20 +1425,20 @@ function peg$parse(input, options) {
1660
1425
  if (s0 === peg$FAILED) {
1661
1426
  s0 = peg$currPos;
1662
1427
  s1 = input.substr(peg$currPos, 6);
1663
- if (s1.toLowerCase() === peg$c24) {
1428
+ if (s1.toLowerCase() === peg$c21) {
1664
1429
  peg$currPos += (6);
1665
1430
  } else {
1666
1431
  s1 = peg$FAILED;
1667
- if (peg$silentFails === 0) { peg$fail(peg$e25); }
1432
+ if (peg$silentFails === 0) { peg$fail(peg$e22); }
1668
1433
  }
1669
1434
  if (s1 !== peg$FAILED) {
1670
1435
  s2 = peg$parse_();
1671
1436
  s3 = input.substr(peg$currPos, 2);
1672
- if (s3.toLowerCase() === peg$c9) {
1437
+ if (s3.toLowerCase() === peg$c7) {
1673
1438
  peg$currPos += (2);
1674
1439
  } else {
1675
1440
  s3 = peg$FAILED;
1676
- if (peg$silentFails === 0) { peg$fail(peg$e9); }
1441
+ if (peg$silentFails === 0) { peg$fail(peg$e7); }
1677
1442
  }
1678
1443
  if (s3 !== peg$FAILED) {
1679
1444
  s4 = peg$parse_();
@@ -1681,18 +1446,18 @@ function peg$parse(input, options) {
1681
1446
  if (s5 !== peg$FAILED) {
1682
1447
  s6 = peg$parse_();
1683
1448
  s7 = input.substr(peg$currPos, 2);
1684
- if (s7.toLowerCase() === peg$c21) {
1449
+ if (s7.toLowerCase() === peg$c18) {
1685
1450
  peg$currPos += (2);
1686
1451
  } else {
1687
1452
  s7 = peg$FAILED;
1688
- if (peg$silentFails === 0) { peg$fail(peg$e22); }
1453
+ if (peg$silentFails === 0) { peg$fail(peg$e19); }
1689
1454
  }
1690
1455
  if (s7 !== peg$FAILED) {
1691
1456
  s8 = peg$parse_();
1692
1457
  s9 = peg$parseType();
1693
1458
  if (s9 !== peg$FAILED) {
1694
1459
  peg$savedPos = s0;
1695
- s0 = peg$f30(s5, s9);
1460
+ s0 = peg$f25(s5, s9);
1696
1461
  } else {
1697
1462
  peg$currPos = s0;
1698
1463
  s0 = peg$FAILED;
@@ -1716,27 +1481,27 @@ function peg$parse(input, options) {
1716
1481
  if (s0 === peg$FAILED) {
1717
1482
  s0 = peg$currPos;
1718
1483
  s1 = input.substr(peg$currPos, 4);
1719
- if (s1.toLowerCase() === peg$c25) {
1484
+ if (s1.toLowerCase() === peg$c22) {
1720
1485
  peg$currPos += (4);
1721
1486
  } else {
1722
1487
  s1 = peg$FAILED;
1723
- if (peg$silentFails === 0) { peg$fail(peg$e26); }
1488
+ if (peg$silentFails === 0) { peg$fail(peg$e23); }
1724
1489
  }
1725
1490
  if (s1 !== peg$FAILED) {
1726
1491
  s2 = peg$parse_();
1727
1492
  s3 = input.substr(peg$currPos, 2);
1728
- if (s3.toLowerCase() === peg$c9) {
1493
+ if (s3.toLowerCase() === peg$c7) {
1729
1494
  peg$currPos += (2);
1730
1495
  } else {
1731
1496
  s3 = peg$FAILED;
1732
- if (peg$silentFails === 0) { peg$fail(peg$e9); }
1497
+ if (peg$silentFails === 0) { peg$fail(peg$e7); }
1733
1498
  }
1734
1499
  if (s3 !== peg$FAILED) {
1735
1500
  s4 = peg$parse_();
1736
1501
  s5 = peg$parseType();
1737
1502
  if (s5 !== peg$FAILED) {
1738
1503
  peg$savedPos = s0;
1739
- s0 = peg$f31(s5);
1504
+ s0 = peg$f26(s5);
1740
1505
  } else {
1741
1506
  peg$currPos = s0;
1742
1507
  s0 = peg$FAILED;
@@ -1752,11 +1517,11 @@ function peg$parse(input, options) {
1752
1517
  if (s0 === peg$FAILED) {
1753
1518
  s0 = peg$currPos;
1754
1519
  s1 = input.substr(peg$currPos, 3);
1755
- if (s1.toLowerCase() === peg$c26) {
1520
+ if (s1.toLowerCase() === peg$c23) {
1756
1521
  peg$currPos += (3);
1757
1522
  } else {
1758
1523
  s1 = peg$FAILED;
1759
- if (peg$silentFails === 0) { peg$fail(peg$e27); }
1524
+ if (peg$silentFails === 0) { peg$fail(peg$e24); }
1760
1525
  }
1761
1526
  if (s1 !== peg$FAILED) {
1762
1527
  s2 = peg$parse_();
@@ -1764,18 +1529,18 @@ function peg$parse(input, options) {
1764
1529
  if (s3 !== peg$FAILED) {
1765
1530
  s4 = peg$parse_();
1766
1531
  s5 = input.substr(peg$currPos, 2);
1767
- if (s5.toLowerCase() === peg$c13) {
1532
+ if (s5.toLowerCase() === peg$c24) {
1768
1533
  peg$currPos += (2);
1769
1534
  } else {
1770
1535
  s5 = peg$FAILED;
1771
- if (peg$silentFails === 0) { peg$fail(peg$e13); }
1536
+ if (peg$silentFails === 0) { peg$fail(peg$e25); }
1772
1537
  }
1773
1538
  if (s5 !== peg$FAILED) {
1774
1539
  s6 = peg$parse_();
1775
1540
  s7 = peg$parseType();
1776
1541
  if (s7 !== peg$FAILED) {
1777
1542
  peg$savedPos = s0;
1778
- s0 = peg$f32(s3, s7);
1543
+ s0 = peg$f27(s3, s7);
1779
1544
  } else {
1780
1545
  peg$currPos = s0;
1781
1546
  s0 = peg$FAILED;
@@ -1797,7 +1562,7 @@ function peg$parse(input, options) {
1797
1562
  s1 = peg$parsePrimType();
1798
1563
  if (s1 !== peg$FAILED) {
1799
1564
  peg$savedPos = s0;
1800
- s1 = peg$f33(s1);
1565
+ s1 = peg$f28(s1);
1801
1566
  }
1802
1567
  s0 = s1;
1803
1568
  if (s0 === peg$FAILED) {
@@ -1805,7 +1570,7 @@ function peg$parse(input, options) {
1805
1570
  s1 = peg$parseTypeIdent();
1806
1571
  if (s1 !== peg$FAILED) {
1807
1572
  peg$savedPos = s0;
1808
- s1 = peg$f34(s1);
1573
+ s1 = peg$f29(s1);
1809
1574
  }
1810
1575
  s0 = s1;
1811
1576
  }
@@ -1823,57 +1588,57 @@ function peg$parse(input, options) {
1823
1588
 
1824
1589
  s0 = peg$currPos;
1825
1590
  s1 = input.substr(peg$currPos, 4);
1826
- if (s1.toLowerCase() === peg$c27) {
1591
+ if (s1.toLowerCase() === peg$c25) {
1827
1592
  peg$currPos += (4);
1828
1593
  } else {
1829
1594
  s1 = peg$FAILED;
1830
- if (peg$silentFails === 0) { peg$fail(peg$e28); }
1595
+ if (peg$silentFails === 0) { peg$fail(peg$e26); }
1831
1596
  }
1832
1597
  if (s1 !== peg$FAILED) {
1833
1598
  peg$savedPos = s0;
1834
- s1 = peg$f35();
1599
+ s1 = peg$f30();
1835
1600
  }
1836
1601
  s0 = s1;
1837
1602
  if (s0 === peg$FAILED) {
1838
1603
  s0 = peg$currPos;
1839
1604
  s1 = input.substr(peg$currPos, 3);
1840
- if (s1.toLowerCase() === peg$c28) {
1605
+ if (s1.toLowerCase() === peg$c26) {
1841
1606
  peg$currPos += (3);
1842
1607
  } else {
1843
1608
  s1 = peg$FAILED;
1844
- if (peg$silentFails === 0) { peg$fail(peg$e29); }
1609
+ if (peg$silentFails === 0) { peg$fail(peg$e27); }
1845
1610
  }
1846
1611
  if (s1 !== peg$FAILED) {
1847
1612
  peg$savedPos = s0;
1848
- s1 = peg$f36();
1613
+ s1 = peg$f31();
1849
1614
  }
1850
1615
  s0 = s1;
1851
1616
  if (s0 === peg$FAILED) {
1852
1617
  s0 = peg$currPos;
1853
1618
  s1 = input.substr(peg$currPos, 5);
1854
- if (s1.toLowerCase() === peg$c29) {
1619
+ if (s1.toLowerCase() === peg$c27) {
1855
1620
  peg$currPos += (5);
1856
1621
  } else {
1857
1622
  s1 = peg$FAILED;
1858
- if (peg$silentFails === 0) { peg$fail(peg$e30); }
1623
+ if (peg$silentFails === 0) { peg$fail(peg$e28); }
1859
1624
  }
1860
1625
  if (s1 !== peg$FAILED) {
1861
1626
  peg$savedPos = s0;
1862
- s1 = peg$f37();
1627
+ s1 = peg$f32();
1863
1628
  }
1864
1629
  s0 = s1;
1865
1630
  if (s0 === peg$FAILED) {
1866
1631
  s0 = peg$currPos;
1867
1632
  s1 = input.substr(peg$currPos, 4);
1868
- if (s1.toLowerCase() === peg$c30) {
1633
+ if (s1.toLowerCase() === peg$c28) {
1869
1634
  peg$currPos += (4);
1870
1635
  } else {
1871
1636
  s1 = peg$FAILED;
1872
- if (peg$silentFails === 0) { peg$fail(peg$e31); }
1637
+ if (peg$silentFails === 0) { peg$fail(peg$e29); }
1873
1638
  }
1874
1639
  if (s1 !== peg$FAILED) {
1875
1640
  peg$savedPos = s0;
1876
- s1 = peg$f38();
1641
+ s1 = peg$f33();
1877
1642
  }
1878
1643
  s0 = s1;
1879
1644
  }
@@ -1902,7 +1667,7 @@ function peg$parse(input, options) {
1902
1667
  s5 = peg$parseIdent();
1903
1668
  if (s5 !== peg$FAILED) {
1904
1669
  peg$savedPos = s3;
1905
- s3 = peg$f39(s1, s5);
1670
+ s3 = peg$f34(s1, s5);
1906
1671
  } else {
1907
1672
  peg$currPos = s3;
1908
1673
  s3 = peg$FAILED;
@@ -1925,7 +1690,7 @@ function peg$parse(input, options) {
1925
1690
  s5 = peg$parseIdent();
1926
1691
  if (s5 !== peg$FAILED) {
1927
1692
  peg$savedPos = s3;
1928
- s3 = peg$f39(s1, s5);
1693
+ s3 = peg$f34(s1, s5);
1929
1694
  } else {
1930
1695
  peg$currPos = s3;
1931
1696
  s3 = peg$FAILED;
@@ -1936,7 +1701,7 @@ function peg$parse(input, options) {
1936
1701
  }
1937
1702
  }
1938
1703
  peg$savedPos = s0;
1939
- s0 = peg$f40(s1);
1704
+ s0 = peg$f35(s1);
1940
1705
  } else {
1941
1706
  peg$currPos = s0;
1942
1707
  s0 = peg$FAILED;
@@ -1955,7 +1720,7 @@ function peg$parse(input, options) {
1955
1720
  peg$currPos++;
1956
1721
  } else {
1957
1722
  s2 = peg$FAILED;
1958
- if (peg$silentFails === 0) { peg$fail(peg$e32); }
1723
+ if (peg$silentFails === 0) { peg$fail(peg$e30); }
1959
1724
  }
1960
1725
  if (s2 !== peg$FAILED) {
1961
1726
  s3 = [];
@@ -1964,7 +1729,7 @@ function peg$parse(input, options) {
1964
1729
  peg$currPos++;
1965
1730
  } else {
1966
1731
  s4 = peg$FAILED;
1967
- if (peg$silentFails === 0) { peg$fail(peg$e33); }
1732
+ if (peg$silentFails === 0) { peg$fail(peg$e31); }
1968
1733
  }
1969
1734
  while (s4 !== peg$FAILED) {
1970
1735
  s3.push(s4);
@@ -1973,7 +1738,7 @@ function peg$parse(input, options) {
1973
1738
  peg$currPos++;
1974
1739
  } else {
1975
1740
  s4 = peg$FAILED;
1976
- if (peg$silentFails === 0) { peg$fail(peg$e33); }
1741
+ if (peg$silentFails === 0) { peg$fail(peg$e31); }
1977
1742
  }
1978
1743
  }
1979
1744
  s2 = [s2, s3];
@@ -2001,7 +1766,7 @@ function peg$parse(input, options) {
2001
1766
  peg$currPos++;
2002
1767
  } else {
2003
1768
  s2 = peg$FAILED;
2004
- if (peg$silentFails === 0) { peg$fail(peg$e34); }
1769
+ if (peg$silentFails === 0) { peg$fail(peg$e32); }
2005
1770
  }
2006
1771
  if (s2 !== peg$FAILED) {
2007
1772
  s3 = [];
@@ -2010,7 +1775,7 @@ function peg$parse(input, options) {
2010
1775
  peg$currPos++;
2011
1776
  } else {
2012
1777
  s4 = peg$FAILED;
2013
- if (peg$silentFails === 0) { peg$fail(peg$e33); }
1778
+ if (peg$silentFails === 0) { peg$fail(peg$e31); }
2014
1779
  }
2015
1780
  while (s4 !== peg$FAILED) {
2016
1781
  s3.push(s4);
@@ -2019,7 +1784,7 @@ function peg$parse(input, options) {
2019
1784
  peg$currPos++;
2020
1785
  } else {
2021
1786
  s4 = peg$FAILED;
2022
- if (peg$silentFails === 0) { peg$fail(peg$e33); }
1787
+ if (peg$silentFails === 0) { peg$fail(peg$e31); }
2023
1788
  }
2024
1789
  }
2025
1790
  s2 = [s2, s3];
@@ -2046,7 +1811,7 @@ function peg$parse(input, options) {
2046
1811
  peg$currPos++;
2047
1812
  } else {
2048
1813
  s1 = peg$FAILED;
2049
- if (peg$silentFails === 0) { peg$fail(peg$e35); }
1814
+ if (peg$silentFails === 0) { peg$fail(peg$e33); }
2050
1815
  }
2051
1816
  while (s1 !== peg$FAILED) {
2052
1817
  s0.push(s1);
@@ -2055,7 +1820,7 @@ function peg$parse(input, options) {
2055
1820
  peg$currPos++;
2056
1821
  } else {
2057
1822
  s1 = peg$FAILED;
2058
- if (peg$silentFails === 0) { peg$fail(peg$e35); }
1823
+ if (peg$silentFails === 0) { peg$fail(peg$e33); }
2059
1824
  }
2060
1825
  }
2061
1826