From 4036ff0fbdf6f0efd453bbfefe0a8ac7fde097db Mon Sep 17 00:00:00 2001 From: Nick Wronski Date: Wed, 1 Jul 2015 14:26:50 -0400 Subject: [PATCH 01/10] fixed value format for direction key in PRIMARY KEY table contrainsts. cleaned up CSS for demo. refs #2 --- demo/css/demo.css | 139 +++++++++++++++++-------------------- demo/index.html | 28 ++++---- demo/sqlite-parser-demo.js | 4 +- dist/sqlite-parser.js | 4 +- lib/parser.js | 4 +- src/grammar.pegjs | 4 +- test/index-spec.js | 6 +- 7 files changed, 89 insertions(+), 100 deletions(-) diff --git a/demo/css/demo.css b/demo/css/demo.css index 755f5a4..8c884d3 100644 --- a/demo/css/demo.css +++ b/demo/css/demo.css @@ -8,37 +8,18 @@ @import url("monokai.css"); @import url("foldgutter.css"); -/* CodeMirror Panel */ - -.border { - border: 1px solid #E03210; -} -.remove-panel { - float: right; - cursor: pointer; -} -.panel { - background: #7A2716; - padding: 3px 7px; - font-size: 12px; -} -.panel.top, .panel.after-top { - border-bottom: 1px solid #585858; -} -.panel.bottom, .panel.before-bottom { - border-top: 1px solid #585858; -} - /* Demo Layout */ *, *:before, *:after { - -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; } body { margin: 0; font-family: 'Inconsolata', monospace; - font-size: 12px; + font-size: 10px; color: #efefef; background-color: #272822; } @@ -50,85 +31,93 @@ body { .container h3 { border-bottom: 1px solid #585858; - padding-bottom: 8px; -} - -footer h3, header h2 { - margin: 0 auto; - width: 500px; - text-align: center; + padding: 8px; + margin: 0; } -footer a, footer a:visited { - color: #2f6a9e; - text-decoration: none; +.container .left h3 { + background-color: #2f6a9e; } -footer a:hover, footer a:active { - color: #329e2f; - text-decoration: underline; - +.container .right h3 { + background-color: #329e2f; } .left, .right { - font-size: 16px; min-height: 400px; height: 400px; -} - -footer, header { padding: 0.5em; color: #dbdbdb; } - -.left, .right { border: 1px solid #585858; - padding: 0.25em 0.75em 1.75em; } -.left { margin-bottom: .5em; } +.left { + margin-bottom: .5em; +} -.nav { - list-style: none; - margin-left: 0; - margin-bottom: 0; - padding-left: 0; +.CodeMirror { + height: 364px !important; } -.nav > li, -.nav > li > a { - display: inline-block; - *display: inline; - zoom: 1; +.panel { + background: #7A2716; + padding: 3px 7px; + font-size: 12px; } -.inline-items { - margin-top: 0; +.remove-panel { + float: right; + cursor: pointer; } -.inline-items li { - margin-left: 0; - border-left: 1px solid black; - padding-left: 10px; - padding-right: 10px; +.panel.top, .panel.after-top { + border-bottom: 1px solid #585858; +} +.panel.bottom, .panel.before-bottom { + border-top: 1px solid #585858; } -.inline-items li:first-child { - margin-left: 0; - border: none; - padding-left: 0; - padding-right: 10px; +footer, header { + padding: 0.5em; + color: #dbdbdb; } -.inline-items li:last-child { - padding-right: 0; +footer h3, header h2 { + width: 500px; } -.CodeMirror { height: 300px !important; } +footer h3 { + margin: 0 auto; + text-align: center; +} -@media screen and (min-width: 84.75em ) { - .left { margin-right: 49.5em; } +footer a, footer a:visited { + color: #2f6a9e; + text-decoration: none; +} - .right { position: absolute; top: 0; right: 0; width: 48.75em; } +footer a:hover, footer a:active { + color: #329e2f; + text-decoration: underline; - .right, .left { min-height: 800px; height: 800px; } +} - .CodeMirror { height: 700px !important; } +@media screen and (min-width: 84.75em ) { + .right, .left { + min-height: 800px; + height: 800px; + } + + .left { + margin-right: 49.5em; + } + + .right { + position: absolute; + top: 0; + right: 0; + width: 48.75em; + } + + .CodeMirror { + height: 764px !important; + } } diff --git a/demo/index.html b/demo/index.html index 2073ff3..6a444e7 100644 --- a/demo/index.html +++ b/demo/index.html @@ -25,23 +25,23 @@

sqlite-parser demo

SQLite Statement

diff --git a/demo/sqlite-parser-demo.js b/demo/sqlite-parser-demo.js index 6539624..53303c3 100644 --- a/demo/sqlite-parser-demo.js +++ b/demo/sqlite-parser-demo.js @@ -1422,7 +1422,7 @@ module.exports = (function() { 'type': 'identifier', 'variant': 'column', 'format': 'indexed', - 'direction': util.key(d) /*|| "ASC"*/, + 'direction': d, 'name': e, 'collate': c }; @@ -17495,7 +17495,7 @@ module.exports = (function() { s2 = peg$parseo(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c176(s1); + s1 = peg$c38(s1); s0 = s1; } else { peg$currPos = s0; diff --git a/dist/sqlite-parser.js b/dist/sqlite-parser.js index d1893f6..b80fdca 100644 --- a/dist/sqlite-parser.js +++ b/dist/sqlite-parser.js @@ -1332,7 +1332,7 @@ module.exports = (function() { 'type': 'identifier', 'variant': 'column', 'format': 'indexed', - 'direction': util.key(d) /*|| "ASC"*/, + 'direction': d, 'name': e, 'collate': c }; @@ -17405,7 +17405,7 @@ module.exports = (function() { s2 = peg$parseo(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c176(s1); + s1 = peg$c38(s1); s0 = s1; } else { peg$currPos = s0; diff --git a/lib/parser.js b/lib/parser.js index ac9e8ae..bc7d65b 100644 --- a/lib/parser.js +++ b/lib/parser.js @@ -1104,7 +1104,7 @@ module.exports = (function() { 'type': 'identifier', 'variant': 'column', 'format': 'indexed', - 'direction': util.key(d) /*|| "ASC"*/, + 'direction': d, 'name': e, 'collate': c }; @@ -17177,7 +17177,7 @@ module.exports = (function() { s2 = peg$parseo(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c176(s1); + s1 = peg$c38(s1); s0 = s1; } else { peg$currPos = s0; diff --git a/src/grammar.pegjs b/src/grammar.pegjs index 2cf4e1b..aa64f68 100644 --- a/src/grammar.pegjs +++ b/src/grammar.pegjs @@ -1811,7 +1811,7 @@ primary_column "Indexed Column" 'type': 'identifier', 'variant': 'column', 'format': 'indexed', - 'direction': util.key(d) /*|| "ASC"*/, + 'direction': d, 'name': e, 'collate': c }; @@ -1823,7 +1823,7 @@ column_collate primary_column_dir = t:( ASC / DESC ) o - { return util.textNode(t); } + { return util.key(t); } primary_column_tail = sym_comma c:( primary_column ) o diff --git a/test/index-spec.js b/test/index-spec.js index 731489c..b78cf67 100644 --- a/test/index-spec.js +++ b/test/index-spec.js @@ -94,12 +94,12 @@ describe('sqlite-parser', function() { }); it('select alt syntax', function(done) { - var resultTree = '{"statement":[{"explain":false,"type":"statement","variant":"select","result":[{"type":"values","variant":"list","values":[{"type":"literal","variant":"decimal","value":"1"},{"type":"literal","variant":"decimal","value":"2"},{"type":"literal","variant":"decimal","value":"3"}]},{"type":"values","variant":"list","values":[{"type":"literal","variant":"decimal","value":"4"},{"type":"literal","variant":"decimal","value":"5"},{"type":"literal","variant":"decimal","value":"6"}]}],"from":null,"where":null,"group":null,"order":[{"direction":"DESC","expression":{"type":"identifier","variant":"column","name":"ham"},"collate":null}],"limit":null}]}'; + var resultTree = '{"statement":[{"explain":false,"type":"statement","variant":"select","result":[{"type":"values","variant":"list","values":[{"type":"literal","variant":"decimal","value":"1"},{"type":"literal","variant":"decimal","value":"2"},{"type":"literal","variant":"decimal","value":"3"}]},{"type":"values","variant":"list","values":[{"type":"literal","variant":"decimal","value":"4"},{"type":"literal","variant":"decimal","value":"5"},{"type":"literal","variant":"decimal","value":"6"}]}],"from":null,"where":null,"group":null,"order":[{"direction":"desc","expression":{"type":"identifier","variant":"column","name":"ham"},"collate":null}],"limit":null}]}'; tree.equals(resultTree, this, done); }); it('select parts 1', function(done) { - var resultTree = '{"statement":[{"explain":false,"type":"statement","variant":"select","from":[{"type":"identifier","variant":"table","name":"hats","alias":"h","index":null}],"where":[{"type":"expression","format":"binary","variant":"operation","operation":"==","left":{"type":"identifier","variant":"column","name":"h.color"},"right":{"type":"literal","variant":"string","value":"red"}}],"group":{"expression":[{"type":"identifier","variant":"column","name":"h.color"},{"type":"identifier","variant":"column","name":"h.material"}],"having":{"type":"expression","format":"binary","variant":"operation","operation":">=","left":{"type":"function","name":"COUNT","distinct":false,"args":[{"type":"identifier","variant":"column","name":"h.quantity"}]},"right":{"type":"literal","variant":"decimal","value":"200"}}},"result":[{"type":"identifier","variant":"star","name":"*"}],"distinct":false,"all":false,"order":[{"direction":"DESC","expression":{"type":"identifier","variant":"column","name":"h.color"},"collate":null}],"limit":{"start":{"type":"literal","variant":"decimal","value":"20"},"offset":{"type":"literal","variant":"decimal","value":"10"}}}]}'; + var resultTree = '{"statement":[{"explain":false,"type":"statement","variant":"select","from":[{"type":"identifier","variant":"table","name":"hats","alias":"h","index":null}],"where":[{"type":"expression","format":"binary","variant":"operation","operation":"==","left":{"type":"identifier","variant":"column","name":"h.color"},"right":{"type":"literal","variant":"string","value":"red"}}],"group":{"expression":[{"type":"identifier","variant":"column","name":"h.color"},{"type":"identifier","variant":"column","name":"h.material"}],"having":{"type":"expression","format":"binary","variant":"operation","operation":">=","left":{"type":"function","name":"COUNT","distinct":false,"args":[{"type":"identifier","variant":"column","name":"h.quantity"}]},"right":{"type":"literal","variant":"decimal","value":"200"}}},"result":[{"type":"identifier","variant":"star","name":"*"}],"distinct":false,"all":false,"order":[{"direction":"desc","expression":{"type":"identifier","variant":"column","name":"h.color"},"collate":null}],"limit":{"start":{"type":"literal","variant":"decimal","value":"20"},"offset":{"type":"literal","variant":"decimal","value":"10"}}}]}'; tree.equals(resultTree, this, done); }); @@ -216,7 +216,7 @@ describe('sqlite-parser', function() { }); it('create primary key 1', function(done) { - var resultTree = '{"statement":[{"explain":false,"type":"statement","variant":"create","format":"table","temporary":false,"target":{"type":"identifier","variant":"table","name":"Bees"},"condition":[],"optimization":[],"definition":[{"type":"definition","variant":"column","name":"id","definition":[],"datatype":{"type":"datatype","variant":"int","affinity":"integer","args":[]}},{"type":"definition","variant":"column","name":"color","definition":[],"datatype":{"type":"datatype","variant":"int","affinity":"integer","args":[]}},{"type":"definition","variant":"column","name":"hive_id","definition":[{"name":null,"type":"constraint","variant":"unique","conflict":null}],"datatype":{"type":"datatype","variant":"int","affinity":"integer","args":[]}},{"type":"definition","variant":"constraint","name":null,"definition":[{"type":"constraint","variant":"primary key","conflict":"fail"}],"columns":[{"type":"identifier","variant":"column","format":"indexed","direction":"","name":"id","collate":null}]}]}]}'; + var resultTree = '{"statement":[{"explain":false,"type":"statement","variant":"create","format":"table","temporary":false,"target":{"type":"identifier","variant":"table","name":"Bees"},"condition":[],"optimization":[],"definition":[{"type":"definition","variant":"column","name":"id","definition":[],"datatype":{"type":"datatype","variant":"int","affinity":"integer","args":[]}},{"type":"definition","variant":"column","name":"color","definition":[],"datatype":{"type":"datatype","variant":"int","affinity":"integer","args":[]}},{"type":"definition","variant":"column","name":"hive_id","definition":[{"name":null,"type":"constraint","variant":"unique","conflict":null}],"datatype":{"type":"datatype","variant":"int","affinity":"integer","args":[]}},{"type":"definition","variant":"constraint","name":null,"definition":[{"type":"constraint","variant":"primary key","conflict":"fail"}],"columns":[{"type":"identifier","variant":"column","format":"indexed","direction":null,"name":"id","collate":null}]}]}]}'; tree.equals(resultTree, this, done); }); From ef5bdc0a0acd60941d13dc05d702177cc41dae59 Mon Sep 17 00:00:00 2001 From: Nick Wronski Date: Wed, 1 Jul 2015 16:24:38 -0400 Subject: [PATCH 02/10] updated CHANGELOG.md after removing all release tags that should no longer be present. refs #2 --- CHANGELOG.md | 19 +++---------------- demo/sqlite-parser-demo.js | 14 ++++---------- dist/sqlite-parser.js | 14 ++++---------- lib/parser.js | 14 ++++---------- src/grammar.pegjs | 3 ++- 5 files changed, 17 insertions(+), 47 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 986dcbf..25349ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -212,19 +212,6 @@ All notable changes to this project will be documented in this file. - First working version of sqlite-parser [unreleased]: https://github.com/codeschool/sqlite-parser/compare/v0.6.0...HEAD -[v0.6.0]: https://github.com/codeschool/sqlite-parser/compare/v0.5.1...v0.6.0 -[v0.5.1]: https://github.com/codeschool/sqlite-parser/compare/v0.5.0...v0.5.1 -[v0.5.0]: https://github.com/codeschool/sqlite-parser/compare/v0.4.1...v0.5.0 -[v0.4.1]: https://github.com/codeschool/sqlite-parser/compare/v0.4.0...v0.4.1 -[v0.4.0]: https://github.com/codeschool/sqlite-parser/compare/v0.3.1...v0.4.0 -[v0.3.1]: https://github.com/codeschool/sqlite-parser/compare/v0.3.0...v0.3.1 -[v0.3.0]: https://github.com/codeschool/sqlite-parser/compare/v0.2.3...v0.3.0 -[v0.2.3]: https://github.com/codeschool/sqlite-parser/compare/v0.2.2...v0.2.3 -[v0.2.2]: https://github.com/codeschool/sqlite-parser/compare/v0.2.1...v0.2.2 -[v0.2.1]: https://github.com/codeschool/sqlite-parser/compare/v0.2.0...v0.2.1 -[v0.2.0]: https://github.com/codeschool/sqlite-parser/compare/v0.1.1...v0.2.0 -[v0.1.1]: https://github.com/codeschool/sqlite-parser/compare/v0.1.0...v0.1.1 -[v0.1.0]: https://github.com/codeschool/sqlite-parser/compare/v0.0.9...v0.1.0 -[v0.0.9]: https://github.com/codeschool/sqlite-parser/compare/v0.0.8...v0.0.9 -[v0.0.8]: https://github.com/codeschool/sqlite-parser/compare/v0.0.7...v0.0.8 -[v0.0.7]: https://github.com/codeschool/sqlite-parser/commit/ba1f7af0af1c7c4c4462e8bd80835eaf62f2a9f6 +[v0.6.0]: https://github.com/codeschool/sqlite-parser/compare/v0.3.1...v0.6.0 +[v0.3.1]: https://github.com/codeschool/sqlite-parser/compare/6388118d601a89d011ecd6f5c215bbc9763444db...v0.3.1 +[v0.1.1]: https://github.com/codeschool/sqlite-parser/commit/6388118d601a89d011ecd6f5c215bbc9763444db diff --git a/demo/sqlite-parser-demo.js b/demo/sqlite-parser-demo.js index 53303c3..9a47ec4 100644 --- a/demo/sqlite-parser-demo.js +++ b/demo/sqlite-parser-demo.js @@ -16313,7 +16313,7 @@ module.exports = (function() { } function peg$parsecolumn_constraint_primary() { - var s0, s1, s2, s3, s4, s5, + var s0, s1, s2, s3, s4, startPos = peg$currPos; peg$tracer.trace({ @@ -16341,15 +16341,9 @@ module.exports = (function() { s4 = null; } if (s4 !== peg$FAILED) { - s5 = peg$parseo(); - if (s5 !== peg$FAILED) { - peg$savedPos = s0; - s1 = peg$c329(s1, s2, s3, s4); - s0 = s1; - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } + peg$savedPos = s0; + s1 = peg$c329(s1, s2, s3, s4); + s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; diff --git a/dist/sqlite-parser.js b/dist/sqlite-parser.js index b80fdca..7988b90 100644 --- a/dist/sqlite-parser.js +++ b/dist/sqlite-parser.js @@ -16223,7 +16223,7 @@ module.exports = (function() { } function peg$parsecolumn_constraint_primary() { - var s0, s1, s2, s3, s4, s5, + var s0, s1, s2, s3, s4, startPos = peg$currPos; peg$tracer.trace({ @@ -16251,15 +16251,9 @@ module.exports = (function() { s4 = null; } if (s4 !== peg$FAILED) { - s5 = peg$parseo(); - if (s5 !== peg$FAILED) { - peg$savedPos = s0; - s1 = peg$c329(s1, s2, s3, s4); - s0 = s1; - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } + peg$savedPos = s0; + s1 = peg$c329(s1, s2, s3, s4); + s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; diff --git a/lib/parser.js b/lib/parser.js index bc7d65b..ee251e9 100644 --- a/lib/parser.js +++ b/lib/parser.js @@ -15995,7 +15995,7 @@ module.exports = (function() { } function peg$parsecolumn_constraint_primary() { - var s0, s1, s2, s3, s4, s5, + var s0, s1, s2, s3, s4, startPos = peg$currPos; peg$tracer.trace({ @@ -16023,15 +16023,9 @@ module.exports = (function() { s4 = null; } if (s4 !== peg$FAILED) { - s5 = peg$parseo(); - if (s5 !== peg$FAILED) { - peg$savedPos = s0; - s1 = peg$c329(s1, s2, s3, s4); - s0 = s1; - } else { - peg$currPos = s0; - s0 = peg$FAILED; - } + peg$savedPos = s0; + s1 = peg$c329(s1, s2, s3, s4); + s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; diff --git a/src/grammar.pegjs b/src/grammar.pegjs index aa64f68..4ddd6c2 100644 --- a/src/grammar.pegjs +++ b/src/grammar.pegjs @@ -1666,7 +1666,8 @@ column_constraint_foreign } column_constraint_primary - = p:( col_primary_start ) d:( col_primary_dir )? c:( primary_conflict )? a:( col_primary_auto )? o + = p:( col_primary_start ) d:( col_primary_dir )? c:( primary_conflict )? + a:( col_primary_auto )? { return util.extend(p, c, d, a); } From 09df783d39a1f202c21dd39be72d7fee361269f0 Mon Sep 17 00:00:00 2001 From: Nick Wronski Date: Wed, 1 Jul 2015 18:18:48 -0400 Subject: [PATCH 03/10] fixed rules for double-quoted, backticked, and bracketed identifiers to allow for escapes, leading or trailing spaces, and the full character set that is legal for quoted identifiers, where allowed. fixed datatype names that did not display correctly in generated AST. fixed string literal definition to allow all possible input. refs #2 --- README.md | 127 +- demo/sqlite-parser-demo.js | 2467 ++++++++++++++++++------------------ dist/sqlite-parser.js | 2467 ++++++++++++++++++------------------ lib/parser-util.js | 14 +- lib/parser.js | 2453 ++++++++++++++++++----------------- src/grammar.pegjs | 51 +- src/parser-util.js | 14 +- 7 files changed, 3923 insertions(+), 3670 deletions(-) diff --git a/README.md b/README.md index 6a7e4b4..58ae4f5 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,14 @@ The parser implements the basic components of the SQLite 3 spec, such as: - `JOIN` types `INNER`, `OUTER`, `LEFT` - Query modifiers `WHERE`, `GROUP BY`, `HAVING` +## Demo + +There interactive demo of the parser hosted +[at this location](http://codeschool.github.io/sqlite-parser/demo/). The source +for the interactive demo exists in the `demo/` folder of this repository. You +can serve a LiveReload version of the demo on your local machine by running +`grunt interactive`. + ## Install ``` @@ -24,7 +32,7 @@ npm install sqlite-parser ## Usage The library exposes a function that accepts a single argument: a string -containing SQL to parse. The method returns a promise that resolves to the +containing SQL to parse. The method returns a `Promise` that resolves to the AST object generated from the source string. ``` javascript @@ -41,6 +49,13 @@ sqliteParser(sampleSQL) }); ``` +## Syntax Errors + +This parser uses the `--trace` flag exposed in `pegjs` to create "smart" error +messages. The parser includes a `Trace` class that keeps track of which grammar +rules were being traversed just prior to the error and uses that information +to improve the error message and location information. + ## AST **NOTE: The SQLite AST is a work-in-progress and subject to change.** @@ -55,53 +70,67 @@ the parsed statements. ``` sql SELECT - MIN(salary) AS "MinSalary", - MAX(salary) AS "MaxSalary" + MIN(honey) AS "Min Honey", + MAX(honey) AS "Max Honey" FROM - Actors + BeeHive ``` #### Result AST -``` -statement: - - - type: statement - variant: select - from: - - - type: identifier - variant: table - name: Actors - alias: null - index: null - where: null - group: null - result: - - - type: function - name: MIN - distinct: false - args: - - - type: identifier - variant: column - name: salary - alias: MinSalary - - - type: function - name: MAX - distinct: false - args: - - - type: identifier - variant: column - name: salary - alias: MaxSalary - distinct: false - all: false - order: null - limit: null +``` json +{ + "statement": [ + { + "explain": false, + "type": "statement", + "variant": "select", + "from": [ + { + "type": "identifier", + "variant": "table", + "name": "BeeHive", + "alias": null, + "index": null + } + ], + "where": null, + "group": null, + "result": [ + { + "type": "function", + "name": "MIN", + "distinct": false, + "args": [ + { + "type": "identifier", + "variant": "column", + "name": "honey" + } + ], + "alias": "Min Honey" + }, + { + "type": "function", + "name": "MAX", + "distinct": false, + "args": [ + { + "type": "identifier", + "variant": "column", + "name": "honey" + } + ], + "alias": "Max Honey" + } + ], + "distinct": false, + "all": false, + "order": null, + "limit": null + } + ] +} ``` ## Contributing @@ -114,6 +143,9 @@ which will automatically compile the parser and run the tests in `test/index-spe Optionally, run `grunt debug` to get extended output and start a file watcher. +Finally, you should run `grunt release` before creating any PR to run all tests +and rebuild the `dist/` and `demo/` folders. + ### Writing tests Tests refer to a SQL test file in `test/sql/` and the test name is a @@ -133,15 +165,14 @@ var tree = require('./helpers'); describe('sqlite-parser', function() { // uses: test/sql/basicSelect.sql it('basic select', function(done) { - var resultTree = '{"statement":[{"type":"statement","variant":"select","from":[{"type":"identifier","variant":"table","name":"bananas","alias":null,"index":null}],"where":[{"type":"expression","format":"binary","variant":"operation","operation":"=","left":{"type":"identifier","variant":"column","name":"color"},"right":{"type":"literal","variant":"string","value":"red"},"modifier":null}],"group":null,"result":[{"type":"identifier","variant":"star","value":"*"}],"distinct":false,"all":false,"order":null,"limit":null}]}'; + var resultTree = '{"statement":[{"explain":false,"type":"statement","variant":"select","from":[{"type":"identifier","variant":"table","name":"bananas","alias":null,"index":null}],"where":[{"type":"expression","format":"binary","variant":"operation","operation":"=","left":{"type":"identifier","variant":"column","name":"color"},"right":{"type":"literal","variant":"string","value":"red"}}],"group":null,"result":[{"type":"identifier","variant":"star","name":"*"}],"distinct":false,"all":false,"order":null,"limit":null}]}'; tree.equals(resultTree, this, done); }); - // uses: test/sql/invalidUpdate2.sql - it('invalid update 2', function(done) { + // uses: test/sql/parseError1.sql + it('parse error 1', function(done) { tree.error({ - 'message': 'Unexpected FROM keyword found', - 'line': 5 + 'message': 'There is a syntax error near FROM Clause [Table Identifier]' }, this, done); }); }); diff --git a/demo/sqlite-parser-demo.js b/demo/sqlite-parser-demo.js index 9a47ec4..0c7247d 100644 --- a/demo/sqlite-parser-demo.js +++ b/demo/sqlite-parser-demo.js @@ -210,8 +210,13 @@ function textNode(elem) { return nodeToString(elem).trim(); } -function unescape(str) { - return str.replace(/\'{2}/g, '\''); +function unescape(str, quoteChar) { + var re; + if (quoteChar == null) { + quoteChar = '\''; + } + re = new RegExp(quoteChar + '{2}', 'g'); + return str.replace(re, quoteChar); } function extend() { @@ -281,10 +286,6 @@ function findWhere(arr, props) { return null; } -function keywordify(elem) { - return textNode(elem).toUpperCase(); -} - function key(elem) { return textNode(elem).toLowerCase(); } @@ -300,7 +301,6 @@ module.exports = { 'nodeToString': nodeToString, 'textNode': textNode, 'unescape': unescape, - 'keywordify': keywordify, 'key': key, // Type detection 'typed': typed, @@ -626,7 +626,7 @@ module.exports = (function() { * @note Unescaped the pairs of literal single quotation marks * @note Not sure if the BLOB type should be un-escaped */ - return util.unescape(util.textNode(s)); + return util.unescape(util.nodeToString(s), "'"); }, peg$c58 = "''", peg$c59 = { type: "literal", value: "''", description: "\"''\"" }, @@ -1195,47 +1195,49 @@ module.exports = (function() { peg$c262 = "clob", peg$c263 = { type: "literal", value: "CLOB", description: "\"CLOB\"" }, peg$c264 = { type: "other", description: "REAL Datatype Name" }, - peg$c265 = "double", - peg$c266 = { type: "literal", value: "DOUBLE", description: "\"DOUBLE\"" }, - peg$c267 = "precision", - peg$c268 = { type: "literal", value: "PRECISION", description: "\"PRECISION\"" }, - peg$c269 = "float", - peg$c270 = { type: "literal", value: "FLOAT", description: "\"FLOAT\"" }, - peg$c271 = "real", - peg$c272 = { type: "literal", value: "REAL", description: "\"REAL\"" }, - peg$c273 = { type: "other", description: "NUMERIC Datatype Name" }, - peg$c274 = "numeric", - peg$c275 = { type: "literal", value: "NUMERIC", description: "\"NUMERIC\"" }, - peg$c276 = "decimal", - peg$c277 = { type: "literal", value: "DECIMAL", description: "\"DECIMAL\"" }, - peg$c278 = "boolean", - peg$c279 = { type: "literal", value: "BOOLEAN", description: "\"BOOLEAN\"" }, - peg$c280 = "date", - peg$c281 = { type: "literal", value: "DATE", description: "\"DATE\"" }, - peg$c282 = "time", - peg$c283 = { type: "literal", value: "TIME", description: "\"TIME\"" }, - peg$c284 = "stamp", - peg$c285 = { type: "literal", value: "STAMP", description: "\"STAMP\"" }, - peg$c286 = { type: "other", description: "INTEGER Datatype Name" }, - peg$c287 = "int", - peg$c288 = { type: "literal", value: "INT", description: "\"INT\"" }, - peg$c289 = "2", - peg$c290 = { type: "literal", value: "2", description: "\"2\"" }, - peg$c291 = "4", - peg$c292 = { type: "literal", value: "4", description: "\"4\"" }, - peg$c293 = "8", - peg$c294 = { type: "literal", value: "8", description: "\"8\"" }, - peg$c295 = "eger", - peg$c296 = { type: "literal", value: "EGER", description: "\"EGER\"" }, - peg$c297 = "big", - peg$c298 = { type: "literal", value: "BIG", description: "\"BIG\"" }, - peg$c299 = "small", - peg$c300 = { type: "literal", value: "SMALL", description: "\"SMALL\"" }, - peg$c301 = { type: "other", description: "BLOB Datatype Name" }, - peg$c302 = "blob", - peg$c303 = { type: "literal", value: "BLOB", description: "\"BLOB\"" }, - peg$c304 = { type: "other", description: "UPDATE Statement" }, - peg$c305 = function(u, s, f, t, w, o, l) { + peg$c265 = "float", + peg$c266 = { type: "literal", value: "FLOAT", description: "\"FLOAT\"" }, + peg$c267 = "real", + peg$c268 = { type: "literal", value: "REAL", description: "\"REAL\"" }, + peg$c269 = "double", + peg$c270 = { type: "literal", value: "DOUBLE", description: "\"DOUBLE\"" }, + peg$c271 = function(d, p) { return util.compose([d, p]); }, + peg$c272 = "precision", + peg$c273 = { type: "literal", value: "PRECISION", description: "\"PRECISION\"" }, + peg$c274 = function(p) { return p; }, + peg$c275 = { type: "other", description: "NUMERIC Datatype Name" }, + peg$c276 = "numeric", + peg$c277 = { type: "literal", value: "NUMERIC", description: "\"NUMERIC\"" }, + peg$c278 = "decimal", + peg$c279 = { type: "literal", value: "DECIMAL", description: "\"DECIMAL\"" }, + peg$c280 = "boolean", + peg$c281 = { type: "literal", value: "BOOLEAN", description: "\"BOOLEAN\"" }, + peg$c282 = "date", + peg$c283 = { type: "literal", value: "DATE", description: "\"DATE\"" }, + peg$c284 = "time", + peg$c285 = { type: "literal", value: "TIME", description: "\"TIME\"" }, + peg$c286 = "stamp", + peg$c287 = { type: "literal", value: "STAMP", description: "\"STAMP\"" }, + peg$c288 = { type: "other", description: "INTEGER Datatype Name" }, + peg$c289 = "int", + peg$c290 = { type: "literal", value: "INT", description: "\"INT\"" }, + peg$c291 = "2", + peg$c292 = { type: "literal", value: "2", description: "\"2\"" }, + peg$c293 = "4", + peg$c294 = { type: "literal", value: "4", description: "\"4\"" }, + peg$c295 = "8", + peg$c296 = { type: "literal", value: "8", description: "\"8\"" }, + peg$c297 = "eger", + peg$c298 = { type: "literal", value: "EGER", description: "\"EGER\"" }, + peg$c299 = "big", + peg$c300 = { type: "literal", value: "BIG", description: "\"BIG\"" }, + peg$c301 = "small", + peg$c302 = { type: "literal", value: "SMALL", description: "\"SMALL\"" }, + peg$c303 = { type: "other", description: "BLOB Datatype Name" }, + peg$c304 = "blob", + peg$c305 = { type: "literal", value: "BLOB", description: "\"BLOB\"" }, + peg$c306 = { type: "other", description: "UPDATE Statement" }, + peg$c307 = function(u, s, f, t, w, o, l) { // TODO: Not final syntax! return util.extend({ 'type': 'statement', @@ -1247,28 +1249,28 @@ module.exports = (function() { 'limit': l }, u, f); }, - peg$c306 = { type: "other", description: "UPDATE" }, - peg$c307 = { type: "other", description: "Update Fallback" }, - peg$c308 = function(t) { + peg$c308 = { type: "other", description: "UPDATE" }, + peg$c309 = { type: "other", description: "Update Fallback" }, + peg$c310 = function(t) { return { 'or': util.key(t) }; }, - peg$c309 = { type: "other", description: "Update SET" }, - peg$c310 = function(c) { + peg$c311 = { type: "other", description: "Update SET" }, + peg$c312 = function(c) { return { 'set': c }; }, - peg$c311 = function(f, e) { + peg$c313 = function(f, e) { return { 'type': 'assignment', 'target': f, 'value': e }; }, - peg$c312 = { type: "other", description: "DELETE Statement" }, - peg$c313 = function(u, s, t, w, o, l) { + peg$c314 = { type: "other", description: "DELETE Statement" }, + peg$c315 = function(u, s, t, w, o, l) { // TODO: Not final syntax! return util.extend({ 'type': 'statement', @@ -1279,9 +1281,9 @@ module.exports = (function() { 'limit': l }, u); }, - peg$c314 = { type: "other", description: "CREATE Statement" }, - peg$c315 = { type: "other", description: "CREATE Table" }, - peg$c316 = function(s, tmp, t, ne, id, r) { + peg$c316 = { type: "other", description: "CREATE Statement" }, + peg$c317 = { type: "other", description: "CREATE Table" }, + peg$c318 = function(s, tmp, t, ne, id, r) { return util.extend({ 'type': 'statement', 'variant': util.key(s), @@ -1293,28 +1295,28 @@ module.exports = (function() { 'definition': [] }, r); }, - peg$c317 = function(i, n, e) { + peg$c319 = function(i, n, e) { return { 'type': 'condition', 'condition': util.key(util.compose([i, n, e])) }; }, - peg$c318 = { type: "other", description: "Table Definition" }, - peg$c319 = function(s, t, r) { + peg$c320 = { type: "other", description: "Table Definition" }, + peg$c321 = function(s, t, r) { return { 'definition': util.compose([s, t], []), 'optimization': util.makeArray(r) }; }, - peg$c320 = function(r, w) { + peg$c322 = function(r, w) { return { 'type': 'optimization', 'value': util.key(util.compose([r, w])) }; }, - peg$c321 = function(f) { return f; }, - peg$c322 = { type: "other", description: "Column Definition" }, - peg$c323 = function(n, t, c) { + peg$c323 = function(f) { return f; }, + peg$c324 = { type: "other", description: "Column Definition" }, + peg$c325 = function(n, t, c) { return util.extend({ 'type': 'definition', 'variant': 'column', @@ -1323,27 +1325,27 @@ module.exports = (function() { 'datatype': null }, t); }, - peg$c324 = { type: "other", description: "Column Datatype" }, - peg$c325 = function(t) { + peg$c326 = { type: "other", description: "Column Datatype" }, + peg$c327 = function(t) { return { 'datatype': t }; }, - peg$c326 = { type: "other", description: "Column Constraint" }, - peg$c327 = function(n, c) { + peg$c328 = { type: "other", description: "Column Constraint" }, + peg$c329 = function(n, c) { return util.extend({ 'name': n }, c); }, - peg$c328 = function(f) { + peg$c330 = function(f) { return util.extend({ 'variant': 'foreign key' }, f); }, - peg$c329 = function(p, d, c, a) { + peg$c331 = function(p, d, c, a) { return util.extend(p, c, d, a); }, - peg$c330 = function(s, k) { + peg$c332 = function(s, k) { return { 'type': 'constraint', 'variant': util.key(util.compose([s, k])), @@ -1353,41 +1355,41 @@ module.exports = (function() { 'autoIncrement': false }; }, - peg$c331 = function(d) { + peg$c333 = function(d) { return { 'direction': util.key(d) }; }, - peg$c332 = function(a) { + peg$c334 = function(a) { return { 'autoIncrement': true }; }, - peg$c333 = function(s, c) { + peg$c335 = function(s, c) { return util.extend({ 'type': 'constraint', 'variant': s, 'conflict': null }, c); }, - peg$c334 = function(n, l) { return util.compose([n, l]); }, - peg$c335 = function(s, v) { + peg$c336 = function(n, l) { return util.compose([n, l]); }, + peg$c337 = function(s, v) { return { 'type': 'constraint', 'variant': util.key(s), 'value': v }; }, - peg$c336 = function(v) { return v; }, - peg$c337 = function(c) { + peg$c338 = function(v) { return v; }, + peg$c339 = function(c) { return { 'type': 'constraint', 'variant': 'collate', 'collate': c }; }, - peg$c338 = { type: "other", description: "Table Constraint" }, - peg$c339 = function(n, c) { + peg$c340 = { type: "other", description: "Table Constraint" }, + peg$c341 = function(n, c) { return util.extend({ 'type': 'definition', 'variant': 'constraint', @@ -1395,28 +1397,28 @@ module.exports = (function() { 'definition': null }, c); }, - peg$c340 = function(c) { + peg$c342 = function(c) { return { 'definition': util.makeArray(c) }; }, - peg$c341 = function(k, c, t) { + peg$c343 = function(k, c, t) { return { 'definition': util.makeArray(util.extend(k, t)), 'columns': c }; }, - peg$c342 = function(s) { + peg$c344 = function(s) { return { 'type': 'constraint', 'variant': util.key(s), 'conflict': null }; }, - peg$c343 = function(p, k) { return util.compose([p, k]); }, - peg$c344 = function(u) { return util.textNode(u); }, - peg$c345 = { type: "other", description: "Indexed Column" }, - peg$c346 = function(e, c, d) { + peg$c345 = function(p, k) { return util.compose([p, k]); }, + peg$c346 = function(u) { return util.textNode(u); }, + peg$c347 = { type: "other", description: "Indexed Column" }, + peg$c348 = function(e, c, d) { // TODO: Not final format return { 'type': 'identifier', @@ -1427,25 +1429,25 @@ module.exports = (function() { 'collate': c }; }, - peg$c347 = function(o, c, t) { + peg$c349 = function(o, c, t) { return { 'conflict': util.key(t) }; }, - peg$c348 = function(k, c) { + peg$c350 = function(k, c) { return { 'type': 'constraint', 'variant': util.key(k), 'expression': c }; }, - peg$c349 = function(k, l, c) { + peg$c351 = function(k, l, c) { return util.extend({ 'definition': util.makeArray(util.extend(k, c)), 'columns': null }, l); }, - peg$c350 = function(f, k) { + peg$c352 = function(f, k) { return { 'type': 'constraint', 'variant': util.key(util.compose([f, k])), @@ -1455,47 +1457,47 @@ module.exports = (function() { 'defer': null }; }, - peg$c351 = function(r, a, d) { + peg$c353 = function(r, a, d) { return util.extend({ 'type': 'constraint', 'action': a, 'defer': d }, r); }, - peg$c352 = function(t, c) { + peg$c354 = function(t, c) { // TODO: FORMAT? return util.extend({ 'target': t, 'columns': null }, c); }, - peg$c353 = function(f, b) { return util.collect([f, b], []); }, - peg$c354 = function(m, a, n) { + peg$c355 = function(f, b) { return util.collect([f, b], []); }, + peg$c356 = function(m, a, n) { return { 'type': 'action', 'variant': util.key(m), 'action': n }; }, - peg$c355 = function(s, v) { return util.compose([s, v]); }, - peg$c356 = function(c) { return util.textNode(c); }, - peg$c357 = function(n, a) { return util.compose([n, a]); }, - peg$c358 = function(m, n) { + peg$c357 = function(s, v) { return util.compose([s, v]); }, + peg$c358 = function(c) { return util.textNode(c); }, + peg$c359 = function(n, a) { return util.compose([n, a]); }, + peg$c360 = function(m, n) { return { 'type': 'action', 'variant': util.key(m), 'action': n }; }, - peg$c359 = function(n, d, i) { return util.key(util.compose([n, d, i])); }, - peg$c360 = function(i, d) { return util.compose([i, d]); }, - peg$c361 = function(s) { + peg$c361 = function(n, d, i) { return util.key(util.compose([n, d, i])); }, + peg$c362 = function(i, d) { return util.compose([i, d]); }, + peg$c363 = function(s) { return { 'definition': util.makeArray(s) }; }, - peg$c362 = { type: "other", description: "CREATE Index" }, - peg$c363 = function(s, u, i, ne, n, o, w) { + peg$c364 = { type: "other", description: "CREATE Index" }, + peg$c365 = function(s, u, i, ne, n, o, w) { return util.extend({ 'type': 'statement', 'variant': util.key(s), @@ -1507,19 +1509,19 @@ module.exports = (function() { 'unique': false }, u); }, - peg$c364 = function(u) { + peg$c366 = function(u) { return { 'unique': true }; }, - peg$c365 = function(o, t, c) { + peg$c367 = function(o, t, c) { return { 'target': t, 'columns': c }; }, - peg$c366 = { type: "other", description: "CREATE Trigger" }, - peg$c367 = function(s, p, t, ne, n, cd, o, me, wh, a) { + peg$c368 = { type: "other", description: "CREATE Trigger" }, + peg$c369 = function(s, p, t, ne, n, cd, o, me, wh, a) { return { 'type': 'statement', 'variant': util.key(s), @@ -1534,38 +1536,38 @@ module.exports = (function() { 'action': util.makeArray(a) }; }, - peg$c368 = function(m, d) { + peg$c370 = function(m, d) { return util.extend({ 'type': 'event', 'occurs': null }, m, d); }, - peg$c369 = function(m) { + peg$c371 = function(m) { return { 'occurs': util.key(m) }; }, - peg$c370 = function(i, o) { return util.compose([i, o]); }, - peg$c371 = function(o) { + peg$c372 = function(i, o) { return util.compose([i, o]); }, + peg$c373 = function(o) { return { 'event': util.key(o) }; }, - peg$c372 = function(s, f) { + peg$c374 = function(s, f) { return { 'event': util.key(s), 'of': f }; }, - peg$c373 = function(s, c) { return c; }, - peg$c374 = "statement", - peg$c375 = { type: "literal", value: "STATEMENT", description: "\"STATEMENT\"" }, - peg$c376 = function(f, e, r) { return util.key(r); }, - peg$c377 = function(w, e) { return e; }, - peg$c378 = function(s, a, e) { return a; }, - peg$c379 = function(s, c) { return s; }, - peg$c380 = { type: "other", description: "CREATE View" }, - peg$c381 = function(s, p, v, ne, n, r) { + peg$c375 = function(s, c) { return c; }, + peg$c376 = "statement", + peg$c377 = { type: "literal", value: "STATEMENT", description: "\"STATEMENT\"" }, + peg$c378 = function(f, e, r) { return util.key(r); }, + peg$c379 = function(w, e) { return e; }, + peg$c380 = function(s, a, e) { return a; }, + peg$c381 = function(s, c) { return s; }, + peg$c382 = { type: "other", description: "CREATE View" }, + peg$c383 = function(s, p, v, ne, n, r) { return { 'type': 'statement', 'variant': util.key(s), @@ -1576,8 +1578,8 @@ module.exports = (function() { 'result': r }; }, - peg$c382 = { type: "other", description: "CREATE Virtual Table" }, - peg$c383 = function(s, v, t, ne, n, m, a) { + peg$c384 = { type: "other", description: "CREATE Virtual Table" }, + peg$c385 = function(s, v, t, ne, n, m, a) { return { 'type': 'statement', 'variant': util.key(s), @@ -1591,8 +1593,8 @@ module.exports = (function() { } }; }, - peg$c384 = { type: "other", description: "DROP Statement" }, - peg$c385 = function(s, t, i, q) { + peg$c386 = { type: "other", description: "DROP Statement" }, + peg$c387 = function(s, t, i, q) { return { 'type': 'statement', 'variant': s, @@ -1601,348 +1603,359 @@ module.exports = (function() { 'condition': (util.isOkay(i) ? [i] : []) }; }, - peg$c386 = function(i, e) { + peg$c388 = function(i, e) { return { 'type': 'condition', 'condition': util.key(util.compose([i, e])) }; }, - peg$c387 = /^[a-z0-9\-_]/i, - peg$c388 = { type: "class", value: "[a-z0-9\\-\\_]i", description: "[a-z0-9\\-\\_]i" }, - peg$c389 = /^[a-z0-9\-_ ]/i, - peg$c390 = { type: "class", value: "[a-z0-9\\-\\_ ]i", description: "[a-z0-9\\-\\_ ]i" }, - peg$c391 = "\"", - peg$c392 = { type: "literal", value: "\"", description: "\"\\\"\"" }, - peg$c393 = "`", - peg$c394 = { type: "literal", value: "`", description: "\"`\"" }, - peg$c395 = { type: "other", description: "Open Bracket" }, - peg$c396 = "[", - peg$c397 = { type: "literal", value: "[", description: "\"[\"" }, - peg$c398 = { type: "other", description: "Close Bracket" }, - peg$c399 = "]", - peg$c400 = { type: "literal", value: "]", description: "\"]\"" }, - peg$c401 = { type: "other", description: "Open Parenthesis" }, - peg$c402 = "(", - peg$c403 = { type: "literal", value: "(", description: "\"(\"" }, - peg$c404 = { type: "other", description: "Close Parenthesis" }, - peg$c405 = ")", - peg$c406 = { type: "literal", value: ")", description: "\")\"" }, - peg$c407 = { type: "other", description: "Comma" }, - peg$c408 = ",", - peg$c409 = { type: "literal", value: ",", description: "\",\"" }, - peg$c410 = { type: "other", description: "Period" }, - peg$c411 = ".", - peg$c412 = { type: "literal", value: ".", description: "\".\"" }, - peg$c413 = { type: "other", description: "Asterisk" }, - peg$c414 = "*", - peg$c415 = { type: "literal", value: "*", description: "\"*\"" }, - peg$c416 = { type: "other", description: "Question Mark" }, - peg$c417 = "?", - peg$c418 = { type: "literal", value: "?", description: "\"?\"" }, - peg$c419 = { type: "other", description: "Single Quote" }, - peg$c420 = "'", - peg$c421 = { type: "literal", value: "'", description: "\"'\"" }, - peg$c422 = { type: "other", description: "Double Quote" }, - peg$c423 = { type: "other", description: "Backtick" }, - peg$c424 = { type: "other", description: "Tilde" }, - peg$c425 = "~", - peg$c426 = { type: "literal", value: "~", description: "\"~\"" }, - peg$c427 = { type: "other", description: "Plus" }, - peg$c428 = "+", - peg$c429 = { type: "literal", value: "+", description: "\"+\"" }, - peg$c430 = { type: "other", description: "Minus" }, - peg$c431 = "-", - peg$c432 = { type: "literal", value: "-", description: "\"-\"" }, - peg$c433 = "=", - peg$c434 = { type: "literal", value: "=", description: "\"=\"" }, - peg$c435 = { type: "other", description: "Ampersand" }, - peg$c436 = "&", - peg$c437 = { type: "literal", value: "&", description: "\"&\"" }, - peg$c438 = { type: "other", description: "Pipe" }, - peg$c439 = "|", - peg$c440 = { type: "literal", value: "|", description: "\"|\"" }, - peg$c441 = "%", - peg$c442 = { type: "literal", value: "%", description: "\"%\"" }, - peg$c443 = "<", - peg$c444 = { type: "literal", value: "<", description: "\"<\"" }, - peg$c445 = ">", - peg$c446 = { type: "literal", value: ">", description: "\">\"" }, - peg$c447 = { type: "other", description: "Exclamation" }, - peg$c448 = "!", - peg$c449 = { type: "literal", value: "!", description: "\"!\"" }, - peg$c450 = { type: "other", description: "Semicolon" }, - peg$c451 = ";", - peg$c452 = { type: "literal", value: ";", description: "\";\"" }, - peg$c453 = { type: "other", description: "Colon" }, - peg$c454 = { type: "other", description: "Forward Slash" }, - peg$c455 = "/", - peg$c456 = { type: "literal", value: "/", description: "\"/\"" }, - peg$c457 = { type: "other", description: "Backslash" }, - peg$c458 = "\\", - peg$c459 = { type: "literal", value: "\\", description: "\"\\\\\"" }, - peg$c460 = "abort", - peg$c461 = { type: "literal", value: "ABORT", description: "\"ABORT\"" }, - peg$c462 = "action", - peg$c463 = { type: "literal", value: "ACTION", description: "\"ACTION\"" }, - peg$c464 = "add", - peg$c465 = { type: "literal", value: "ADD", description: "\"ADD\"" }, - peg$c466 = "after", - peg$c467 = { type: "literal", value: "AFTER", description: "\"AFTER\"" }, - peg$c468 = "all", - peg$c469 = { type: "literal", value: "ALL", description: "\"ALL\"" }, - peg$c470 = "alter", - peg$c471 = { type: "literal", value: "ALTER", description: "\"ALTER\"" }, - peg$c472 = "analyze", - peg$c473 = { type: "literal", value: "ANALYZE", description: "\"ANALYZE\"" }, - peg$c474 = "and", - peg$c475 = { type: "literal", value: "AND", description: "\"AND\"" }, - peg$c476 = "as", - peg$c477 = { type: "literal", value: "AS", description: "\"AS\"" }, - peg$c478 = "asc", - peg$c479 = { type: "literal", value: "ASC", description: "\"ASC\"" }, - peg$c480 = "attach", - peg$c481 = { type: "literal", value: "ATTACH", description: "\"ATTACH\"" }, - peg$c482 = "autoincrement", - peg$c483 = { type: "literal", value: "AUTOINCREMENT", description: "\"AUTOINCREMENT\"" }, - peg$c484 = "before", - peg$c485 = { type: "literal", value: "BEFORE", description: "\"BEFORE\"" }, - peg$c486 = "begin", - peg$c487 = { type: "literal", value: "BEGIN", description: "\"BEGIN\"" }, - peg$c488 = "between", - peg$c489 = { type: "literal", value: "BETWEEN", description: "\"BETWEEN\"" }, - peg$c490 = "by", - peg$c491 = { type: "literal", value: "BY", description: "\"BY\"" }, - peg$c492 = "cascade", - peg$c493 = { type: "literal", value: "CASCADE", description: "\"CASCADE\"" }, - peg$c494 = "case", - peg$c495 = { type: "literal", value: "CASE", description: "\"CASE\"" }, - peg$c496 = "cast", - peg$c497 = { type: "literal", value: "CAST", description: "\"CAST\"" }, - peg$c498 = "check", - peg$c499 = { type: "literal", value: "CHECK", description: "\"CHECK\"" }, - peg$c500 = "collate", - peg$c501 = { type: "literal", value: "COLLATE", description: "\"COLLATE\"" }, - peg$c502 = "column", - peg$c503 = { type: "literal", value: "COLUMN", description: "\"COLUMN\"" }, - peg$c504 = "commit", - peg$c505 = { type: "literal", value: "COMMIT", description: "\"COMMIT\"" }, - peg$c506 = "conflict", - peg$c507 = { type: "literal", value: "CONFLICT", description: "\"CONFLICT\"" }, - peg$c508 = "constraint", - peg$c509 = { type: "literal", value: "CONSTRAINT", description: "\"CONSTRAINT\"" }, - peg$c510 = "create", - peg$c511 = { type: "literal", value: "CREATE", description: "\"CREATE\"" }, - peg$c512 = "cross", - peg$c513 = { type: "literal", value: "CROSS", description: "\"CROSS\"" }, - peg$c514 = "current_date", - peg$c515 = { type: "literal", value: "CURRENT_DATE", description: "\"CURRENT_DATE\"" }, - peg$c516 = "current_time", - peg$c517 = { type: "literal", value: "CURRENT_TIME", description: "\"CURRENT_TIME\"" }, - peg$c518 = "current_timestamp", - peg$c519 = { type: "literal", value: "CURRENT_TIMESTAMP", description: "\"CURRENT_TIMESTAMP\"" }, - peg$c520 = "database", - peg$c521 = { type: "literal", value: "DATABASE", description: "\"DATABASE\"" }, - peg$c522 = "default", - peg$c523 = { type: "literal", value: "DEFAULT", description: "\"DEFAULT\"" }, - peg$c524 = "deferrable", - peg$c525 = { type: "literal", value: "DEFERRABLE", description: "\"DEFERRABLE\"" }, - peg$c526 = "deferred", - peg$c527 = { type: "literal", value: "DEFERRED", description: "\"DEFERRED\"" }, - peg$c528 = "delete", - peg$c529 = { type: "literal", value: "DELETE", description: "\"DELETE\"" }, - peg$c530 = "desc", - peg$c531 = { type: "literal", value: "DESC", description: "\"DESC\"" }, - peg$c532 = "detach", - peg$c533 = { type: "literal", value: "DETACH", description: "\"DETACH\"" }, - peg$c534 = "distinct", - peg$c535 = { type: "literal", value: "DISTINCT", description: "\"DISTINCT\"" }, - peg$c536 = "drop", - peg$c537 = { type: "literal", value: "DROP", description: "\"DROP\"" }, - peg$c538 = "each", - peg$c539 = { type: "literal", value: "EACH", description: "\"EACH\"" }, - peg$c540 = "else", - peg$c541 = { type: "literal", value: "ELSE", description: "\"ELSE\"" }, - peg$c542 = "end", - peg$c543 = { type: "literal", value: "END", description: "\"END\"" }, - peg$c544 = "escape", - peg$c545 = { type: "literal", value: "ESCAPE", description: "\"ESCAPE\"" }, - peg$c546 = "except", - peg$c547 = { type: "literal", value: "EXCEPT", description: "\"EXCEPT\"" }, - peg$c548 = "exclusive", - peg$c549 = { type: "literal", value: "EXCLUSIVE", description: "\"EXCLUSIVE\"" }, - peg$c550 = "exists", - peg$c551 = { type: "literal", value: "EXISTS", description: "\"EXISTS\"" }, - peg$c552 = "explain", - peg$c553 = { type: "literal", value: "EXPLAIN", description: "\"EXPLAIN\"" }, - peg$c554 = "fail", - peg$c555 = { type: "literal", value: "FAIL", description: "\"FAIL\"" }, - peg$c556 = "for", - peg$c557 = { type: "literal", value: "FOR", description: "\"FOR\"" }, - peg$c558 = "foreign", - peg$c559 = { type: "literal", value: "FOREIGN", description: "\"FOREIGN\"" }, - peg$c560 = "from", - peg$c561 = { type: "literal", value: "FROM", description: "\"FROM\"" }, - peg$c562 = "full", - peg$c563 = { type: "literal", value: "FULL", description: "\"FULL\"" }, - peg$c564 = "glob", - peg$c565 = { type: "literal", value: "GLOB", description: "\"GLOB\"" }, - peg$c566 = "group", - peg$c567 = { type: "literal", value: "GROUP", description: "\"GROUP\"" }, - peg$c568 = "having", - peg$c569 = { type: "literal", value: "HAVING", description: "\"HAVING\"" }, - peg$c570 = "if", - peg$c571 = { type: "literal", value: "IF", description: "\"IF\"" }, - peg$c572 = "ignore", - peg$c573 = { type: "literal", value: "IGNORE", description: "\"IGNORE\"" }, - peg$c574 = "immediate", - peg$c575 = { type: "literal", value: "IMMEDIATE", description: "\"IMMEDIATE\"" }, - peg$c576 = "in", - peg$c577 = { type: "literal", value: "IN", description: "\"IN\"" }, - peg$c578 = "index", - peg$c579 = { type: "literal", value: "INDEX", description: "\"INDEX\"" }, - peg$c580 = "indexed", - peg$c581 = { type: "literal", value: "INDEXED", description: "\"INDEXED\"" }, - peg$c582 = "initially", - peg$c583 = { type: "literal", value: "INITIALLY", description: "\"INITIALLY\"" }, - peg$c584 = "inner", - peg$c585 = { type: "literal", value: "INNER", description: "\"INNER\"" }, - peg$c586 = "insert", - peg$c587 = { type: "literal", value: "INSERT", description: "\"INSERT\"" }, - peg$c588 = "instead", - peg$c589 = { type: "literal", value: "INSTEAD", description: "\"INSTEAD\"" }, - peg$c590 = "intersect", - peg$c591 = { type: "literal", value: "INTERSECT", description: "\"INTERSECT\"" }, - peg$c592 = "into", - peg$c593 = { type: "literal", value: "INTO", description: "\"INTO\"" }, - peg$c594 = "is", - peg$c595 = { type: "literal", value: "IS", description: "\"IS\"" }, - peg$c596 = "isnull", - peg$c597 = { type: "literal", value: "ISNULL", description: "\"ISNULL\"" }, - peg$c598 = "join", - peg$c599 = { type: "literal", value: "JOIN", description: "\"JOIN\"" }, - peg$c600 = "key", - peg$c601 = { type: "literal", value: "KEY", description: "\"KEY\"" }, - peg$c602 = "left", - peg$c603 = { type: "literal", value: "LEFT", description: "\"LEFT\"" }, - peg$c604 = "like", - peg$c605 = { type: "literal", value: "LIKE", description: "\"LIKE\"" }, - peg$c606 = "limit", - peg$c607 = { type: "literal", value: "LIMIT", description: "\"LIMIT\"" }, - peg$c608 = "match", - peg$c609 = { type: "literal", value: "MATCH", description: "\"MATCH\"" }, - peg$c610 = "natural", - peg$c611 = { type: "literal", value: "NATURAL", description: "\"NATURAL\"" }, - peg$c612 = "no", - peg$c613 = { type: "literal", value: "NO", description: "\"NO\"" }, - peg$c614 = "not", - peg$c615 = { type: "literal", value: "NOT", description: "\"NOT\"" }, - peg$c616 = "notnull", - peg$c617 = { type: "literal", value: "NOTNULL", description: "\"NOTNULL\"" }, - peg$c618 = "null", - peg$c619 = { type: "literal", value: "NULL", description: "\"NULL\"" }, - peg$c620 = "of", - peg$c621 = { type: "literal", value: "OF", description: "\"OF\"" }, - peg$c622 = "offset", - peg$c623 = { type: "literal", value: "OFFSET", description: "\"OFFSET\"" }, - peg$c624 = "on", - peg$c625 = { type: "literal", value: "ON", description: "\"ON\"" }, - peg$c626 = "or", - peg$c627 = { type: "literal", value: "OR", description: "\"OR\"" }, - peg$c628 = "order", - peg$c629 = { type: "literal", value: "ORDER", description: "\"ORDER\"" }, - peg$c630 = "outer", - peg$c631 = { type: "literal", value: "OUTER", description: "\"OUTER\"" }, - peg$c632 = "plan", - peg$c633 = { type: "literal", value: "PLAN", description: "\"PLAN\"" }, - peg$c634 = "pragma", - peg$c635 = { type: "literal", value: "PRAGMA", description: "\"PRAGMA\"" }, - peg$c636 = "primary", - peg$c637 = { type: "literal", value: "PRIMARY", description: "\"PRIMARY\"" }, - peg$c638 = "query", - peg$c639 = { type: "literal", value: "QUERY", description: "\"QUERY\"" }, - peg$c640 = "raise", - peg$c641 = { type: "literal", value: "RAISE", description: "\"RAISE\"" }, - peg$c642 = "recursive", - peg$c643 = { type: "literal", value: "RECURSIVE", description: "\"RECURSIVE\"" }, - peg$c644 = "references", - peg$c645 = { type: "literal", value: "REFERENCES", description: "\"REFERENCES\"" }, - peg$c646 = "regexp", - peg$c647 = { type: "literal", value: "REGEXP", description: "\"REGEXP\"" }, - peg$c648 = "reindex", - peg$c649 = { type: "literal", value: "REINDEX", description: "\"REINDEX\"" }, - peg$c650 = "release", - peg$c651 = { type: "literal", value: "RELEASE", description: "\"RELEASE\"" }, - peg$c652 = "rename", - peg$c653 = { type: "literal", value: "RENAME", description: "\"RENAME\"" }, - peg$c654 = "replace", - peg$c655 = { type: "literal", value: "REPLACE", description: "\"REPLACE\"" }, - peg$c656 = "restrict", - peg$c657 = { type: "literal", value: "RESTRICT", description: "\"RESTRICT\"" }, - peg$c658 = "right", - peg$c659 = { type: "literal", value: "RIGHT", description: "\"RIGHT\"" }, - peg$c660 = "rollback", - peg$c661 = { type: "literal", value: "ROLLBACK", description: "\"ROLLBACK\"" }, - peg$c662 = "row", - peg$c663 = { type: "literal", value: "ROW", description: "\"ROW\"" }, - peg$c664 = "rowid", - peg$c665 = { type: "literal", value: "ROWID", description: "\"ROWID\"" }, - peg$c666 = "savepoint", - peg$c667 = { type: "literal", value: "SAVEPOINT", description: "\"SAVEPOINT\"" }, - peg$c668 = "select", - peg$c669 = { type: "literal", value: "SELECT", description: "\"SELECT\"" }, - peg$c670 = "set", - peg$c671 = { type: "literal", value: "SET", description: "\"SET\"" }, - peg$c672 = "table", - peg$c673 = { type: "literal", value: "TABLE", description: "\"TABLE\"" }, - peg$c674 = "temp", - peg$c675 = { type: "literal", value: "TEMP", description: "\"TEMP\"" }, - peg$c676 = "temporary", - peg$c677 = { type: "literal", value: "TEMPORARY", description: "\"TEMPORARY\"" }, - peg$c678 = "then", - peg$c679 = { type: "literal", value: "THEN", description: "\"THEN\"" }, - peg$c680 = "to", - peg$c681 = { type: "literal", value: "TO", description: "\"TO\"" }, - peg$c682 = "transaction", - peg$c683 = { type: "literal", value: "TRANSACTION", description: "\"TRANSACTION\"" }, - peg$c684 = "trigger", - peg$c685 = { type: "literal", value: "TRIGGER", description: "\"TRIGGER\"" }, - peg$c686 = "union", - peg$c687 = { type: "literal", value: "UNION", description: "\"UNION\"" }, - peg$c688 = "unique", - peg$c689 = { type: "literal", value: "UNIQUE", description: "\"UNIQUE\"" }, - peg$c690 = "update", - peg$c691 = { type: "literal", value: "UPDATE", description: "\"UPDATE\"" }, - peg$c692 = "using", - peg$c693 = { type: "literal", value: "USING", description: "\"USING\"" }, - peg$c694 = "vacuum", - peg$c695 = { type: "literal", value: "VACUUM", description: "\"VACUUM\"" }, - peg$c696 = "values", - peg$c697 = { type: "literal", value: "VALUES", description: "\"VALUES\"" }, - peg$c698 = "view", - peg$c699 = { type: "literal", value: "VIEW", description: "\"VIEW\"" }, - peg$c700 = "virtual", - peg$c701 = { type: "literal", value: "VIRTUAL", description: "\"VIRTUAL\"" }, - peg$c702 = "when", - peg$c703 = { type: "literal", value: "WHEN", description: "\"WHEN\"" }, - peg$c704 = "where", - peg$c705 = { type: "literal", value: "WHERE", description: "\"WHERE\"" }, - peg$c706 = "with", - peg$c707 = { type: "literal", value: "WITH", description: "\"WITH\"" }, - peg$c708 = "without", - peg$c709 = { type: "literal", value: "WITHOUT", description: "\"WITHOUT\"" }, - peg$c710 = function(r) { return util.key(r); }, - peg$c711 = { type: "other", description: "SQL Line Comment" }, - peg$c712 = { type: "other", description: "SQL Block Comment" }, - peg$c713 = { type: "other", description: "Anything" }, - peg$c714 = { type: "any", description: "any character" }, - peg$c715 = { type: "other", description: "Whitespace" }, - peg$c716 = /^[ \t]/, - peg$c717 = { type: "class", value: "[ \\t]", description: "[ \\t]" }, - peg$c718 = { type: "other", description: "New Line" }, - peg$c719 = /^[\n\x0B\f\r]/, - peg$c720 = { type: "class", value: "[\\n\\v\\f\\r]", description: "[\\n\\v\\f\\r]" }, - peg$c721 = "__TODO__", - peg$c722 = { type: "literal", value: "__TODO__", description: "\"__TODO__\"" }, + peg$c389 = /^[a-z0-9\-_]/i, + peg$c390 = { type: "class", value: "[a-z0-9\\-\\_]i", description: "[a-z0-9\\-\\_]i" }, + peg$c391 = function(r) { return util.textNode(r); }, + peg$c392 = "]", + peg$c393 = { type: "literal", value: "]", description: "\"]\"" }, + peg$c394 = /^[^\]]/, + peg$c395 = { type: "class", value: "[^\\]]", description: "[^\\]]" }, + peg$c396 = "\"", + peg$c397 = { type: "literal", value: "\"", description: "\"\\\"\"" }, + peg$c398 = function(n) { return util.unescape(util.nodeToString(n), '"'); }, + peg$c399 = "\"\"", + peg$c400 = { type: "literal", value: "\"\"", description: "\"\\\"\\\"\"" }, + peg$c401 = /^[^"]/, + peg$c402 = { type: "class", value: "[^\\\"]", description: "[^\\\"]" }, + peg$c403 = "`", + peg$c404 = { type: "literal", value: "`", description: "\"`\"" }, + peg$c405 = function(n) { return util.unescape(util.nodeToString(n), '`'); }, + peg$c406 = "``", + peg$c407 = { type: "literal", value: "``", description: "\"``\"" }, + peg$c408 = /^[^`]/, + peg$c409 = { type: "class", value: "[^\\`]", description: "[^\\`]" }, + peg$c410 = { type: "other", description: "Open Bracket" }, + peg$c411 = "[", + peg$c412 = { type: "literal", value: "[", description: "\"[\"" }, + peg$c413 = { type: "other", description: "Close Bracket" }, + peg$c414 = { type: "other", description: "Open Parenthesis" }, + peg$c415 = "(", + peg$c416 = { type: "literal", value: "(", description: "\"(\"" }, + peg$c417 = { type: "other", description: "Close Parenthesis" }, + peg$c418 = ")", + peg$c419 = { type: "literal", value: ")", description: "\")\"" }, + peg$c420 = { type: "other", description: "Comma" }, + peg$c421 = ",", + peg$c422 = { type: "literal", value: ",", description: "\",\"" }, + peg$c423 = { type: "other", description: "Period" }, + peg$c424 = ".", + peg$c425 = { type: "literal", value: ".", description: "\".\"" }, + peg$c426 = { type: "other", description: "Asterisk" }, + peg$c427 = "*", + peg$c428 = { type: "literal", value: "*", description: "\"*\"" }, + peg$c429 = { type: "other", description: "Question Mark" }, + peg$c430 = "?", + peg$c431 = { type: "literal", value: "?", description: "\"?\"" }, + peg$c432 = { type: "other", description: "Single Quote" }, + peg$c433 = "'", + peg$c434 = { type: "literal", value: "'", description: "\"'\"" }, + peg$c435 = { type: "other", description: "Double Quote" }, + peg$c436 = { type: "other", description: "Backtick" }, + peg$c437 = { type: "other", description: "Tilde" }, + peg$c438 = "~", + peg$c439 = { type: "literal", value: "~", description: "\"~\"" }, + peg$c440 = { type: "other", description: "Plus" }, + peg$c441 = "+", + peg$c442 = { type: "literal", value: "+", description: "\"+\"" }, + peg$c443 = { type: "other", description: "Minus" }, + peg$c444 = "-", + peg$c445 = { type: "literal", value: "-", description: "\"-\"" }, + peg$c446 = "=", + peg$c447 = { type: "literal", value: "=", description: "\"=\"" }, + peg$c448 = { type: "other", description: "Ampersand" }, + peg$c449 = "&", + peg$c450 = { type: "literal", value: "&", description: "\"&\"" }, + peg$c451 = { type: "other", description: "Pipe" }, + peg$c452 = "|", + peg$c453 = { type: "literal", value: "|", description: "\"|\"" }, + peg$c454 = "%", + peg$c455 = { type: "literal", value: "%", description: "\"%\"" }, + peg$c456 = "<", + peg$c457 = { type: "literal", value: "<", description: "\"<\"" }, + peg$c458 = ">", + peg$c459 = { type: "literal", value: ">", description: "\">\"" }, + peg$c460 = { type: "other", description: "Exclamation" }, + peg$c461 = "!", + peg$c462 = { type: "literal", value: "!", description: "\"!\"" }, + peg$c463 = { type: "other", description: "Semicolon" }, + peg$c464 = ";", + peg$c465 = { type: "literal", value: ";", description: "\";\"" }, + peg$c466 = { type: "other", description: "Colon" }, + peg$c467 = { type: "other", description: "Forward Slash" }, + peg$c468 = "/", + peg$c469 = { type: "literal", value: "/", description: "\"/\"" }, + peg$c470 = { type: "other", description: "Backslash" }, + peg$c471 = "\\", + peg$c472 = { type: "literal", value: "\\", description: "\"\\\\\"" }, + peg$c473 = "abort", + peg$c474 = { type: "literal", value: "ABORT", description: "\"ABORT\"" }, + peg$c475 = "action", + peg$c476 = { type: "literal", value: "ACTION", description: "\"ACTION\"" }, + peg$c477 = "add", + peg$c478 = { type: "literal", value: "ADD", description: "\"ADD\"" }, + peg$c479 = "after", + peg$c480 = { type: "literal", value: "AFTER", description: "\"AFTER\"" }, + peg$c481 = "all", + peg$c482 = { type: "literal", value: "ALL", description: "\"ALL\"" }, + peg$c483 = "alter", + peg$c484 = { type: "literal", value: "ALTER", description: "\"ALTER\"" }, + peg$c485 = "analyze", + peg$c486 = { type: "literal", value: "ANALYZE", description: "\"ANALYZE\"" }, + peg$c487 = "and", + peg$c488 = { type: "literal", value: "AND", description: "\"AND\"" }, + peg$c489 = "as", + peg$c490 = { type: "literal", value: "AS", description: "\"AS\"" }, + peg$c491 = "asc", + peg$c492 = { type: "literal", value: "ASC", description: "\"ASC\"" }, + peg$c493 = "attach", + peg$c494 = { type: "literal", value: "ATTACH", description: "\"ATTACH\"" }, + peg$c495 = "autoincrement", + peg$c496 = { type: "literal", value: "AUTOINCREMENT", description: "\"AUTOINCREMENT\"" }, + peg$c497 = "before", + peg$c498 = { type: "literal", value: "BEFORE", description: "\"BEFORE\"" }, + peg$c499 = "begin", + peg$c500 = { type: "literal", value: "BEGIN", description: "\"BEGIN\"" }, + peg$c501 = "between", + peg$c502 = { type: "literal", value: "BETWEEN", description: "\"BETWEEN\"" }, + peg$c503 = "by", + peg$c504 = { type: "literal", value: "BY", description: "\"BY\"" }, + peg$c505 = "cascade", + peg$c506 = { type: "literal", value: "CASCADE", description: "\"CASCADE\"" }, + peg$c507 = "case", + peg$c508 = { type: "literal", value: "CASE", description: "\"CASE\"" }, + peg$c509 = "cast", + peg$c510 = { type: "literal", value: "CAST", description: "\"CAST\"" }, + peg$c511 = "check", + peg$c512 = { type: "literal", value: "CHECK", description: "\"CHECK\"" }, + peg$c513 = "collate", + peg$c514 = { type: "literal", value: "COLLATE", description: "\"COLLATE\"" }, + peg$c515 = "column", + peg$c516 = { type: "literal", value: "COLUMN", description: "\"COLUMN\"" }, + peg$c517 = "commit", + peg$c518 = { type: "literal", value: "COMMIT", description: "\"COMMIT\"" }, + peg$c519 = "conflict", + peg$c520 = { type: "literal", value: "CONFLICT", description: "\"CONFLICT\"" }, + peg$c521 = "constraint", + peg$c522 = { type: "literal", value: "CONSTRAINT", description: "\"CONSTRAINT\"" }, + peg$c523 = "create", + peg$c524 = { type: "literal", value: "CREATE", description: "\"CREATE\"" }, + peg$c525 = "cross", + peg$c526 = { type: "literal", value: "CROSS", description: "\"CROSS\"" }, + peg$c527 = "current_date", + peg$c528 = { type: "literal", value: "CURRENT_DATE", description: "\"CURRENT_DATE\"" }, + peg$c529 = "current_time", + peg$c530 = { type: "literal", value: "CURRENT_TIME", description: "\"CURRENT_TIME\"" }, + peg$c531 = "current_timestamp", + peg$c532 = { type: "literal", value: "CURRENT_TIMESTAMP", description: "\"CURRENT_TIMESTAMP\"" }, + peg$c533 = "database", + peg$c534 = { type: "literal", value: "DATABASE", description: "\"DATABASE\"" }, + peg$c535 = "default", + peg$c536 = { type: "literal", value: "DEFAULT", description: "\"DEFAULT\"" }, + peg$c537 = "deferrable", + peg$c538 = { type: "literal", value: "DEFERRABLE", description: "\"DEFERRABLE\"" }, + peg$c539 = "deferred", + peg$c540 = { type: "literal", value: "DEFERRED", description: "\"DEFERRED\"" }, + peg$c541 = "delete", + peg$c542 = { type: "literal", value: "DELETE", description: "\"DELETE\"" }, + peg$c543 = "desc", + peg$c544 = { type: "literal", value: "DESC", description: "\"DESC\"" }, + peg$c545 = "detach", + peg$c546 = { type: "literal", value: "DETACH", description: "\"DETACH\"" }, + peg$c547 = "distinct", + peg$c548 = { type: "literal", value: "DISTINCT", description: "\"DISTINCT\"" }, + peg$c549 = "drop", + peg$c550 = { type: "literal", value: "DROP", description: "\"DROP\"" }, + peg$c551 = "each", + peg$c552 = { type: "literal", value: "EACH", description: "\"EACH\"" }, + peg$c553 = "else", + peg$c554 = { type: "literal", value: "ELSE", description: "\"ELSE\"" }, + peg$c555 = "end", + peg$c556 = { type: "literal", value: "END", description: "\"END\"" }, + peg$c557 = "escape", + peg$c558 = { type: "literal", value: "ESCAPE", description: "\"ESCAPE\"" }, + peg$c559 = "except", + peg$c560 = { type: "literal", value: "EXCEPT", description: "\"EXCEPT\"" }, + peg$c561 = "exclusive", + peg$c562 = { type: "literal", value: "EXCLUSIVE", description: "\"EXCLUSIVE\"" }, + peg$c563 = "exists", + peg$c564 = { type: "literal", value: "EXISTS", description: "\"EXISTS\"" }, + peg$c565 = "explain", + peg$c566 = { type: "literal", value: "EXPLAIN", description: "\"EXPLAIN\"" }, + peg$c567 = "fail", + peg$c568 = { type: "literal", value: "FAIL", description: "\"FAIL\"" }, + peg$c569 = "for", + peg$c570 = { type: "literal", value: "FOR", description: "\"FOR\"" }, + peg$c571 = "foreign", + peg$c572 = { type: "literal", value: "FOREIGN", description: "\"FOREIGN\"" }, + peg$c573 = "from", + peg$c574 = { type: "literal", value: "FROM", description: "\"FROM\"" }, + peg$c575 = "full", + peg$c576 = { type: "literal", value: "FULL", description: "\"FULL\"" }, + peg$c577 = "glob", + peg$c578 = { type: "literal", value: "GLOB", description: "\"GLOB\"" }, + peg$c579 = "group", + peg$c580 = { type: "literal", value: "GROUP", description: "\"GROUP\"" }, + peg$c581 = "having", + peg$c582 = { type: "literal", value: "HAVING", description: "\"HAVING\"" }, + peg$c583 = "if", + peg$c584 = { type: "literal", value: "IF", description: "\"IF\"" }, + peg$c585 = "ignore", + peg$c586 = { type: "literal", value: "IGNORE", description: "\"IGNORE\"" }, + peg$c587 = "immediate", + peg$c588 = { type: "literal", value: "IMMEDIATE", description: "\"IMMEDIATE\"" }, + peg$c589 = "in", + peg$c590 = { type: "literal", value: "IN", description: "\"IN\"" }, + peg$c591 = "index", + peg$c592 = { type: "literal", value: "INDEX", description: "\"INDEX\"" }, + peg$c593 = "indexed", + peg$c594 = { type: "literal", value: "INDEXED", description: "\"INDEXED\"" }, + peg$c595 = "initially", + peg$c596 = { type: "literal", value: "INITIALLY", description: "\"INITIALLY\"" }, + peg$c597 = "inner", + peg$c598 = { type: "literal", value: "INNER", description: "\"INNER\"" }, + peg$c599 = "insert", + peg$c600 = { type: "literal", value: "INSERT", description: "\"INSERT\"" }, + peg$c601 = "instead", + peg$c602 = { type: "literal", value: "INSTEAD", description: "\"INSTEAD\"" }, + peg$c603 = "intersect", + peg$c604 = { type: "literal", value: "INTERSECT", description: "\"INTERSECT\"" }, + peg$c605 = "into", + peg$c606 = { type: "literal", value: "INTO", description: "\"INTO\"" }, + peg$c607 = "is", + peg$c608 = { type: "literal", value: "IS", description: "\"IS\"" }, + peg$c609 = "isnull", + peg$c610 = { type: "literal", value: "ISNULL", description: "\"ISNULL\"" }, + peg$c611 = "join", + peg$c612 = { type: "literal", value: "JOIN", description: "\"JOIN\"" }, + peg$c613 = "key", + peg$c614 = { type: "literal", value: "KEY", description: "\"KEY\"" }, + peg$c615 = "left", + peg$c616 = { type: "literal", value: "LEFT", description: "\"LEFT\"" }, + peg$c617 = "like", + peg$c618 = { type: "literal", value: "LIKE", description: "\"LIKE\"" }, + peg$c619 = "limit", + peg$c620 = { type: "literal", value: "LIMIT", description: "\"LIMIT\"" }, + peg$c621 = "match", + peg$c622 = { type: "literal", value: "MATCH", description: "\"MATCH\"" }, + peg$c623 = "natural", + peg$c624 = { type: "literal", value: "NATURAL", description: "\"NATURAL\"" }, + peg$c625 = "no", + peg$c626 = { type: "literal", value: "NO", description: "\"NO\"" }, + peg$c627 = "not", + peg$c628 = { type: "literal", value: "NOT", description: "\"NOT\"" }, + peg$c629 = "notnull", + peg$c630 = { type: "literal", value: "NOTNULL", description: "\"NOTNULL\"" }, + peg$c631 = "null", + peg$c632 = { type: "literal", value: "NULL", description: "\"NULL\"" }, + peg$c633 = "of", + peg$c634 = { type: "literal", value: "OF", description: "\"OF\"" }, + peg$c635 = "offset", + peg$c636 = { type: "literal", value: "OFFSET", description: "\"OFFSET\"" }, + peg$c637 = "on", + peg$c638 = { type: "literal", value: "ON", description: "\"ON\"" }, + peg$c639 = "or", + peg$c640 = { type: "literal", value: "OR", description: "\"OR\"" }, + peg$c641 = "order", + peg$c642 = { type: "literal", value: "ORDER", description: "\"ORDER\"" }, + peg$c643 = "outer", + peg$c644 = { type: "literal", value: "OUTER", description: "\"OUTER\"" }, + peg$c645 = "plan", + peg$c646 = { type: "literal", value: "PLAN", description: "\"PLAN\"" }, + peg$c647 = "pragma", + peg$c648 = { type: "literal", value: "PRAGMA", description: "\"PRAGMA\"" }, + peg$c649 = "primary", + peg$c650 = { type: "literal", value: "PRIMARY", description: "\"PRIMARY\"" }, + peg$c651 = "query", + peg$c652 = { type: "literal", value: "QUERY", description: "\"QUERY\"" }, + peg$c653 = "raise", + peg$c654 = { type: "literal", value: "RAISE", description: "\"RAISE\"" }, + peg$c655 = "recursive", + peg$c656 = { type: "literal", value: "RECURSIVE", description: "\"RECURSIVE\"" }, + peg$c657 = "references", + peg$c658 = { type: "literal", value: "REFERENCES", description: "\"REFERENCES\"" }, + peg$c659 = "regexp", + peg$c660 = { type: "literal", value: "REGEXP", description: "\"REGEXP\"" }, + peg$c661 = "reindex", + peg$c662 = { type: "literal", value: "REINDEX", description: "\"REINDEX\"" }, + peg$c663 = "release", + peg$c664 = { type: "literal", value: "RELEASE", description: "\"RELEASE\"" }, + peg$c665 = "rename", + peg$c666 = { type: "literal", value: "RENAME", description: "\"RENAME\"" }, + peg$c667 = "replace", + peg$c668 = { type: "literal", value: "REPLACE", description: "\"REPLACE\"" }, + peg$c669 = "restrict", + peg$c670 = { type: "literal", value: "RESTRICT", description: "\"RESTRICT\"" }, + peg$c671 = "right", + peg$c672 = { type: "literal", value: "RIGHT", description: "\"RIGHT\"" }, + peg$c673 = "rollback", + peg$c674 = { type: "literal", value: "ROLLBACK", description: "\"ROLLBACK\"" }, + peg$c675 = "row", + peg$c676 = { type: "literal", value: "ROW", description: "\"ROW\"" }, + peg$c677 = "rowid", + peg$c678 = { type: "literal", value: "ROWID", description: "\"ROWID\"" }, + peg$c679 = "savepoint", + peg$c680 = { type: "literal", value: "SAVEPOINT", description: "\"SAVEPOINT\"" }, + peg$c681 = "select", + peg$c682 = { type: "literal", value: "SELECT", description: "\"SELECT\"" }, + peg$c683 = "set", + peg$c684 = { type: "literal", value: "SET", description: "\"SET\"" }, + peg$c685 = "table", + peg$c686 = { type: "literal", value: "TABLE", description: "\"TABLE\"" }, + peg$c687 = "temp", + peg$c688 = { type: "literal", value: "TEMP", description: "\"TEMP\"" }, + peg$c689 = "temporary", + peg$c690 = { type: "literal", value: "TEMPORARY", description: "\"TEMPORARY\"" }, + peg$c691 = "then", + peg$c692 = { type: "literal", value: "THEN", description: "\"THEN\"" }, + peg$c693 = "to", + peg$c694 = { type: "literal", value: "TO", description: "\"TO\"" }, + peg$c695 = "transaction", + peg$c696 = { type: "literal", value: "TRANSACTION", description: "\"TRANSACTION\"" }, + peg$c697 = "trigger", + peg$c698 = { type: "literal", value: "TRIGGER", description: "\"TRIGGER\"" }, + peg$c699 = "union", + peg$c700 = { type: "literal", value: "UNION", description: "\"UNION\"" }, + peg$c701 = "unique", + peg$c702 = { type: "literal", value: "UNIQUE", description: "\"UNIQUE\"" }, + peg$c703 = "update", + peg$c704 = { type: "literal", value: "UPDATE", description: "\"UPDATE\"" }, + peg$c705 = "using", + peg$c706 = { type: "literal", value: "USING", description: "\"USING\"" }, + peg$c707 = "vacuum", + peg$c708 = { type: "literal", value: "VACUUM", description: "\"VACUUM\"" }, + peg$c709 = "values", + peg$c710 = { type: "literal", value: "VALUES", description: "\"VALUES\"" }, + peg$c711 = "view", + peg$c712 = { type: "literal", value: "VIEW", description: "\"VIEW\"" }, + peg$c713 = "virtual", + peg$c714 = { type: "literal", value: "VIRTUAL", description: "\"VIRTUAL\"" }, + peg$c715 = "when", + peg$c716 = { type: "literal", value: "WHEN", description: "\"WHEN\"" }, + peg$c717 = "where", + peg$c718 = { type: "literal", value: "WHERE", description: "\"WHERE\"" }, + peg$c719 = "with", + peg$c720 = { type: "literal", value: "WITH", description: "\"WITH\"" }, + peg$c721 = "without", + peg$c722 = { type: "literal", value: "WITHOUT", description: "\"WITHOUT\"" }, + peg$c723 = function(r) { return util.key(r); }, + peg$c724 = { type: "other", description: "SQL Line Comment" }, + peg$c725 = { type: "other", description: "SQL Block Comment" }, + peg$c726 = { type: "other", description: "Anything" }, + peg$c727 = { type: "any", description: "any character" }, + peg$c728 = { type: "other", description: "Whitespace" }, + peg$c729 = /^[ \t]/, + peg$c730 = { type: "class", value: "[ \\t]", description: "[ \\t]" }, + peg$c731 = { type: "other", description: "New Line" }, + peg$c732 = /^[\n\x0B\f\r]/, + peg$c733 = { type: "class", value: "[\\n\\v\\f\\r]", description: "[\\n\\v\\f\\r]" }, + peg$c734 = "__TODO__", + peg$c735 = { type: "literal", value: "__TODO__", description: "\"__TODO__\"" }, peg$currPos = 0, peg$savedPos = 0, @@ -2150,6 +2163,8 @@ module.exports = (function() { "datatype_types": "Datatype Name", "datatype_text": "TEXT Datatype Name", "datatype_real": "REAL Datatype Name", +"datatype_real_double": "", +"real_double_precision": "", "datatype_numeric": "NUMERIC Datatype Name", "datatype_integer": "INTEGER Datatype Name", "datatype_none": "BLOB Datatype Name", @@ -2248,13 +2263,15 @@ module.exports = (function() { "drop_types": "", "drop_ie": "", "name_char": "", -"name_char_quoted": "", "name": "", "reserved_nodes": "", "name_unquoted": "", "name_bracketed": "", +"name_bracketed_schar": "", "name_dblquoted": "", +"name_dblquoted_schar": "", "name_backticked": "", +"name_backticked_schar": "", "sym_bopen": "Open Bracket", "sym_bclose": "Close Bracket", "sym_popen": "Open Parenthesis", @@ -3988,7 +4005,7 @@ module.exports = (function() { if (s3 !== peg$FAILED) { s4 = peg$parsee(); if (s4 !== peg$FAILED) { - s5 = peg$parsename(); + s5 = peg$parsename_unquoted(); if (s5 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c31(s1, s3, s5); @@ -6587,7 +6604,7 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; - s1 = peg$parsename(); + s1 = peg$parsename_unquoted(); if (s1 !== peg$FAILED) { s2 = peg$parsesym_popen(); if (s2 !== peg$FAILED) { @@ -13680,7 +13697,7 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; - s1 = peg$parsename(); + s1 = peg$parsename_unquoted(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c232(s1); @@ -14158,7 +14175,7 @@ module.exports = (function() { } function peg$parsedatatype_real() { - var s0, s1, s2, s3, s4, s5, + var s0, s1, startPos = peg$currPos; peg$tracer.trace({ @@ -14170,65 +14187,22 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; - s1 = peg$currPos; - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c265) { - s2 = input.substr(peg$currPos, 6); - peg$currPos += 6; - } else { - s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c266); } - } - if (s2 !== peg$FAILED) { - s3 = peg$currPos; - s4 = peg$parsee(); - if (s4 !== peg$FAILED) { - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c267) { - s5 = input.substr(peg$currPos, 9); - peg$currPos += 9; - } else { - s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c268); } - } - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - if (s3 === peg$FAILED) { - s3 = null; - } - if (s3 !== peg$FAILED) { - s2 = [s2, s3]; - s1 = s2; - } else { - peg$currPos = s1; - s1 = peg$FAILED; - } - } else { - peg$currPos = s1; - s1 = peg$FAILED; - } + s1 = peg$parsedatatype_real_double(); if (s1 === peg$FAILED) { - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c269) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c265) { s1 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c270); } + if (peg$silentFails === 0) { peg$fail(peg$c266); } } if (s1 === peg$FAILED) { - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c271) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c267) { s1 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c272); } + if (peg$silentFails === 0) { peg$fail(peg$c268); } } } } @@ -14263,6 +14237,117 @@ module.exports = (function() { return s0; } + function peg$parsedatatype_real_double() { + var s0, s1, s2, + startPos = peg$currPos; + + peg$tracer.trace({ + type: "rule.enter", + rule: "datatype_real_double", + description: peg$descNames["datatype_real_double"], + location: peg$computeLocation(startPos, startPos) + }); + + s0 = peg$currPos; + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c269) { + s1 = input.substr(peg$currPos, 6); + peg$currPos += 6; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c270); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parsereal_double_precision(); + if (s2 === peg$FAILED) { + s2 = null; + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c271(s1, s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + if (s0 !== peg$FAILED) { + peg$tracer.trace({ + type: "rule.match", + rule: "datatype_real_double", + result: s0, + description: peg$descNames["datatype_real_double"], + location: peg$computeLocation(startPos, peg$currPos) + }); + } else { + peg$tracer.trace({ + type: "rule.fail", + rule: "datatype_real_double", + description: peg$descNames["datatype_real_double"], + location: peg$computeLocation(startPos, startPos) + }); + } + + return s0; + } + + function peg$parsereal_double_precision() { + var s0, s1, s2, + startPos = peg$currPos; + + peg$tracer.trace({ + type: "rule.enter", + rule: "real_double_precision", + description: peg$descNames["real_double_precision"], + location: peg$computeLocation(startPos, startPos) + }); + + s0 = peg$currPos; + s1 = peg$parsee(); + if (s1 !== peg$FAILED) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c272) { + s2 = input.substr(peg$currPos, 9); + peg$currPos += 9; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c273); } + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c274(s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + if (s0 !== peg$FAILED) { + peg$tracer.trace({ + type: "rule.match", + rule: "real_double_precision", + result: s0, + description: peg$descNames["real_double_precision"], + location: peg$computeLocation(startPos, peg$currPos) + }); + } else { + peg$tracer.trace({ + type: "rule.fail", + rule: "real_double_precision", + description: peg$descNames["real_double_precision"], + location: peg$computeLocation(startPos, startPos) + }); + } + + return s0; + } + function peg$parsedatatype_numeric() { var s0, s1, s2, s3, startPos = peg$currPos; @@ -14276,45 +14361,45 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c274) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c276) { s1 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c275); } + if (peg$silentFails === 0) { peg$fail(peg$c277); } } if (s1 === peg$FAILED) { - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c276) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c278) { s1 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c277); } + if (peg$silentFails === 0) { peg$fail(peg$c279); } } if (s1 === peg$FAILED) { - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c278) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c280) { s1 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c279); } + if (peg$silentFails === 0) { peg$fail(peg$c281); } } if (s1 === peg$FAILED) { s1 = peg$currPos; - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c280) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c282) { s2 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c281); } + if (peg$silentFails === 0) { peg$fail(peg$c283); } } if (s2 !== peg$FAILED) { - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c282) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c284) { s3 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c283); } + if (peg$silentFails === 0) { peg$fail(peg$c285); } } if (s3 === peg$FAILED) { s3 = null; @@ -14332,20 +14417,20 @@ module.exports = (function() { } if (s1 === peg$FAILED) { s1 = peg$currPos; - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c282) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c284) { s2 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c283); } + if (peg$silentFails === 0) { peg$fail(peg$c285); } } if (s2 !== peg$FAILED) { - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c284) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c286) { s3 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c285); } + if (peg$silentFails === 0) { peg$fail(peg$c287); } } if (s3 === peg$FAILED) { s3 = null; @@ -14373,7 +14458,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c273); } + if (peg$silentFails === 0) { peg$fail(peg$c275); } } if (s0 !== peg$FAILED) { @@ -14410,44 +14495,44 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; s1 = peg$currPos; - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c287) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c289) { s2 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c288); } + if (peg$silentFails === 0) { peg$fail(peg$c290); } } if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 50) { - s3 = peg$c289; + s3 = peg$c291; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c290); } + if (peg$silentFails === 0) { peg$fail(peg$c292); } } if (s3 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 52) { - s3 = peg$c291; + s3 = peg$c293; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c292); } + if (peg$silentFails === 0) { peg$fail(peg$c294); } } if (s3 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 56) { - s3 = peg$c293; + s3 = peg$c295; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c294); } + if (peg$silentFails === 0) { peg$fail(peg$c296); } } if (s3 === peg$FAILED) { - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c295) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c297) { s3 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c296); } + if (peg$silentFails === 0) { peg$fail(peg$c298); } } } } @@ -14465,12 +14550,12 @@ module.exports = (function() { } if (s1 === peg$FAILED) { s1 = peg$currPos; - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c297) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c299) { s2 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c298); } + if (peg$silentFails === 0) { peg$fail(peg$c300); } } if (s2 === peg$FAILED) { if (input.substr(peg$currPos, 6).toLowerCase() === peg$c256) { @@ -14481,12 +14566,12 @@ module.exports = (function() { if (peg$silentFails === 0) { peg$fail(peg$c257); } } if (s2 === peg$FAILED) { - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c299) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c301) { s2 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c300); } + if (peg$silentFails === 0) { peg$fail(peg$c302); } } if (s2 === peg$FAILED) { if (input.substr(peg$currPos, 4).toLowerCase() === peg$c254) { @@ -14503,12 +14588,12 @@ module.exports = (function() { s2 = null; } if (s2 !== peg$FAILED) { - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c287) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c289) { s3 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c288); } + if (peg$silentFails === 0) { peg$fail(peg$c290); } } if (s3 !== peg$FAILED) { s2 = [s2, s3]; @@ -14530,7 +14615,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c286); } + if (peg$silentFails === 0) { peg$fail(peg$c288); } } if (s0 !== peg$FAILED) { @@ -14566,12 +14651,12 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c302) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c304) { s1 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c303); } + if (peg$silentFails === 0) { peg$fail(peg$c305); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; @@ -14581,7 +14666,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c301); } + if (peg$silentFails === 0) { peg$fail(peg$c303); } } if (s0 !== peg$FAILED) { @@ -14655,7 +14740,7 @@ module.exports = (function() { } if (s11 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c305(s7, s3, s4, s5, s8, s9, s11); + s1 = peg$c307(s7, s3, s4, s5, s8, s9, s11); s0 = s1; } else { peg$currPos = s0; @@ -14704,7 +14789,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c304); } + if (peg$silentFails === 0) { peg$fail(peg$c306); } } if (s0 !== peg$FAILED) { @@ -14758,7 +14843,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c306); } + if (peg$silentFails === 0) { peg$fail(peg$c308); } } if (s0 !== peg$FAILED) { @@ -14803,7 +14888,7 @@ module.exports = (function() { s4 = peg$parsee(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c308(s3); + s1 = peg$c310(s3); s0 = s1; } else { peg$currPos = s0; @@ -14824,7 +14909,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c307); } + if (peg$silentFails === 0) { peg$fail(peg$c309); } } if (s0 !== peg$FAILED) { @@ -14869,7 +14954,7 @@ module.exports = (function() { s4 = peg$parseo(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c310(s3); + s1 = peg$c312(s3); s0 = s1; } else { peg$currPos = s0; @@ -14890,7 +14975,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c309); } + if (peg$silentFails === 0) { peg$fail(peg$c311); } } if (s0 !== peg$FAILED) { @@ -15043,7 +15128,7 @@ module.exports = (function() { s5 = peg$parseo(); if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c311(s1, s4); + s1 = peg$c313(s1, s4); s0 = s1; } else { peg$currPos = s0; @@ -15128,7 +15213,7 @@ module.exports = (function() { } if (s8 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c313(s1, s3, s4, s6, s7, s8); + s1 = peg$c315(s1, s3, s4, s6, s7, s8); s0 = s1; } else { peg$currPos = s0; @@ -15165,7 +15250,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c312); } + if (peg$silentFails === 0) { peg$fail(peg$c314); } } if (s0 !== peg$FAILED) { @@ -15276,7 +15361,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c314); } + if (peg$silentFails === 0) { peg$fail(peg$c316); } } if (s0 !== peg$FAILED) { @@ -15337,7 +15422,7 @@ module.exports = (function() { s9 = peg$parsecreate_table_source(); if (s9 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c316(s1, s3, s4, s6, s7, s9); + s1 = peg$c318(s1, s3, s4, s6, s7, s9); s0 = s1; } else { peg$currPos = s0; @@ -15378,7 +15463,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c315); } + if (peg$silentFails === 0) { peg$fail(peg$c317); } } if (s0 !== peg$FAILED) { @@ -15475,7 +15560,7 @@ module.exports = (function() { s5 = peg$parsee(); if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c317(s1, s3, s4); + s1 = peg$c319(s1, s3, s4); s0 = s1; } else { peg$currPos = s0; @@ -15586,7 +15671,7 @@ module.exports = (function() { } if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c319(s2, s3, s5); + s1 = peg$c321(s2, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -15611,7 +15696,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c318); } + if (peg$silentFails === 0) { peg$fail(peg$c320); } } if (s0 !== peg$FAILED) { @@ -15655,7 +15740,7 @@ module.exports = (function() { s4 = peg$parseo(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c320(s1, s3); + s1 = peg$c322(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -15824,7 +15909,7 @@ module.exports = (function() { s2 = peg$parsetable_constraint(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c321(s2); + s1 = peg$c323(s2); s0 = s1; } else { peg$currPos = s0; @@ -15908,7 +15993,7 @@ module.exports = (function() { } if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c323(s1, s3, s5); + s1 = peg$c325(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -15933,7 +16018,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c322); } + if (peg$silentFails === 0) { peg$fail(peg$c324); } } if (s0 !== peg$FAILED) { @@ -15972,13 +16057,13 @@ module.exports = (function() { s1 = peg$parsetype_definition(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c325(s1); + s1 = peg$c327(s1); } s0 = s1; peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c324); } + if (peg$silentFails === 0) { peg$fail(peg$c326); } } if (s0 !== peg$FAILED) { @@ -16129,7 +16214,7 @@ module.exports = (function() { s2 = peg$parsecolumn_constraint_types(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c327(s1, s2); + s1 = peg$c329(s1, s2); s0 = s1; } else { peg$currPos = s0; @@ -16142,7 +16227,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c326); } + if (peg$silentFails === 0) { peg$fail(peg$c328); } } if (s0 !== peg$FAILED) { @@ -16288,7 +16373,7 @@ module.exports = (function() { s1 = peg$parseforeign_clause(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c328(s1); + s1 = peg$c330(s1); } s0 = s1; @@ -16342,7 +16427,7 @@ module.exports = (function() { } if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c329(s1, s2, s3, s4); + s1 = peg$c331(s1, s2, s3, s4); s0 = s1; } else { peg$currPos = s0; @@ -16402,7 +16487,7 @@ module.exports = (function() { s4 = peg$parseo(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c330(s1, s3); + s1 = peg$c332(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -16458,7 +16543,7 @@ module.exports = (function() { s2 = peg$parseo(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c331(s1); + s1 = peg$c333(s1); s0 = s1; } else { peg$currPos = s0; @@ -16506,7 +16591,7 @@ module.exports = (function() { s2 = peg$parseo(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c332(s1); + s1 = peg$c334(s1); s0 = s1; } else { peg$currPos = s0; @@ -16559,7 +16644,7 @@ module.exports = (function() { s3 = peg$parseo(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c333(s1, s2); + s1 = peg$c335(s1, s2); s0 = s1; } else { peg$currPos = s0; @@ -16656,7 +16741,7 @@ module.exports = (function() { s2 = peg$parseNULL(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c334(s1, s2); + s1 = peg$c336(s1, s2); s0 = s1; } else { peg$currPos = s0; @@ -16704,7 +16789,7 @@ module.exports = (function() { s2 = peg$parsecol_default_val(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c335(s1, s2); + s1 = peg$c337(s1, s2); s0 = s1; } else { peg$currPos = s0; @@ -16752,7 +16837,7 @@ module.exports = (function() { s2 = peg$parseexpression_wrapped(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c336(s2); + s1 = peg$c338(s2); s0 = s1; } else { peg$currPos = s0; @@ -16769,7 +16854,7 @@ module.exports = (function() { s2 = peg$parseliteral_number_signed(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c336(s2); + s1 = peg$c338(s2); s0 = s1; } else { peg$currPos = s0; @@ -16786,7 +16871,7 @@ module.exports = (function() { s2 = peg$parseliteral_value(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c336(s2); + s1 = peg$c338(s2); s0 = s1; } else { peg$currPos = s0; @@ -16834,7 +16919,7 @@ module.exports = (function() { s1 = peg$parsecolumn_collate(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c337(s1); + s1 = peg$c339(s1); } s0 = s1; @@ -16883,7 +16968,7 @@ module.exports = (function() { s4 = peg$parseo(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c339(s1, s3); + s1 = peg$c341(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -16904,7 +16989,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c338); } + if (peg$silentFails === 0) { peg$fail(peg$c340); } } if (s0 !== peg$FAILED) { @@ -17035,7 +17120,7 @@ module.exports = (function() { s1 = peg$parseconstraint_check(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c340(s1); + s1 = peg$c342(s1); } s0 = s1; @@ -17083,7 +17168,7 @@ module.exports = (function() { } if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c341(s1, s3, s4); + s1 = peg$c343(s1, s3, s4); s0 = s1; } else { peg$currPos = s0; @@ -17142,7 +17227,7 @@ module.exports = (function() { s2 = peg$parseo(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c342(s1); + s1 = peg$c344(s1); s0 = s1; } else { peg$currPos = s0; @@ -17192,7 +17277,7 @@ module.exports = (function() { s3 = peg$parseKEY(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c343(s1, s3); + s1 = peg$c345(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -17242,7 +17327,7 @@ module.exports = (function() { s1 = peg$parseUNIQUE(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c344(s1); + s1 = peg$c346(s1); } s0 = s1; @@ -17365,7 +17450,7 @@ module.exports = (function() { } if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c346(s1, s3, s4); + s1 = peg$c348(s1, s3, s4); s0 = s1; } else { peg$currPos = s0; @@ -17386,7 +17471,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c345); } + if (peg$silentFails === 0) { peg$fail(peg$c347); } } if (s0 !== peg$FAILED) { @@ -17599,7 +17684,7 @@ module.exports = (function() { s6 = peg$parseo(); if (s6 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c347(s1, s3, s5); + s1 = peg$c349(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -17665,7 +17750,7 @@ module.exports = (function() { s3 = peg$parseexpression_wrapped(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c348(s1, s3); + s1 = peg$c350(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -17725,7 +17810,7 @@ module.exports = (function() { s6 = peg$parseo(); if (s6 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c349(s1, s3, s5); + s1 = peg$c351(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -17791,7 +17876,7 @@ module.exports = (function() { s3 = peg$parseKEY(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c350(s1, s3); + s1 = peg$c352(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -17851,7 +17936,7 @@ module.exports = (function() { } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c351(s1, s2, s3); + s1 = peg$c353(s1, s2, s3); s0 = s1; } else { peg$currPos = s0; @@ -17912,7 +17997,7 @@ module.exports = (function() { } if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c352(s3, s5); + s1 = peg$c354(s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -17981,7 +18066,7 @@ module.exports = (function() { s4 = peg$parseo(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c353(s1, s3); + s1 = peg$c355(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -18130,7 +18215,7 @@ module.exports = (function() { s5 = peg$parseaction_on_action(); if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c354(s1, s3, s5); + s1 = peg$c356(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -18234,7 +18319,7 @@ module.exports = (function() { } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c355(s1, s3); + s1 = peg$c357(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -18287,7 +18372,7 @@ module.exports = (function() { } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c356(s1); + s1 = peg$c358(s1); } s0 = s1; @@ -18330,7 +18415,7 @@ module.exports = (function() { s3 = peg$parseACTION(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c357(s1, s3); + s1 = peg$c359(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -18384,7 +18469,7 @@ module.exports = (function() { s3 = peg$parsename(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c358(s1, s3); + s1 = peg$c360(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -18444,7 +18529,7 @@ module.exports = (function() { } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c359(s1, s2, s3); + s1 = peg$c361(s1, s2, s3); s0 = s1; } else { peg$currPos = s0; @@ -18503,7 +18588,7 @@ module.exports = (function() { } if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c360(s2, s4); + s1 = peg$c362(s2, s4); s0 = s1; } else { peg$currPos = s0; @@ -18557,7 +18642,7 @@ module.exports = (function() { s1 = peg$parsecreate_as_select(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c361(s1); + s1 = peg$c363(s1); } s0 = s1; @@ -18624,7 +18709,7 @@ module.exports = (function() { } if (s10 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c363(s1, s3, s4, s6, s7, s9, s10); + s1 = peg$c365(s1, s3, s4, s6, s7, s9, s10); s0 = s1; } else { peg$currPos = s0; @@ -18669,7 +18754,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c362); } + if (peg$silentFails === 0) { peg$fail(peg$c364); } } if (s0 !== peg$FAILED) { @@ -18709,7 +18794,7 @@ module.exports = (function() { s2 = peg$parsee(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c364(s1); + s1 = peg$c366(s1); s0 = s1; } else { peg$currPos = s0; @@ -18763,7 +18848,7 @@ module.exports = (function() { s5 = peg$parseprimary_columns(); if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c365(s1, s3, s5); + s1 = peg$c367(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -18864,7 +18949,7 @@ module.exports = (function() { s16 = peg$parsetrigger_action(); if (s16 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c367(s1, s3, s4, s6, s7, s9, s12, s14, s15, s16); + s1 = peg$c369(s1, s3, s4, s6, s7, s9, s12, s14, s15, s16); s0 = s1; } else { peg$currPos = s0; @@ -18933,7 +19018,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c366); } + if (peg$silentFails === 0) { peg$fail(peg$c368); } } if (s0 !== peg$FAILED) { @@ -18976,7 +19061,7 @@ module.exports = (function() { s2 = peg$parsetrigger_do(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c368(s1, s2); + s1 = peg$c370(s1, s2); s0 = s1; } else { peg$currPos = s0; @@ -19030,7 +19115,7 @@ module.exports = (function() { s2 = peg$parsee(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c369(s1); + s1 = peg$c371(s1); s0 = s1; } else { peg$currPos = s0; @@ -19080,7 +19165,7 @@ module.exports = (function() { s3 = peg$parseOF(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c370(s1, s3); + s1 = peg$c372(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -19171,7 +19256,7 @@ module.exports = (function() { s2 = peg$parsee(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c371(s1); + s1 = peg$c373(s1); s0 = s1; } else { peg$currPos = s0; @@ -19224,7 +19309,7 @@ module.exports = (function() { } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c372(s1, s3); + s1 = peg$c374(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -19278,7 +19363,7 @@ module.exports = (function() { s3 = peg$parsedo_update_columns(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c373(s1, s3); + s1 = peg$c375(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -19394,19 +19479,19 @@ module.exports = (function() { if (s4 !== peg$FAILED) { s5 = peg$parseROW(); if (s5 === peg$FAILED) { - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c374) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c376) { s5 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c375); } + if (peg$silentFails === 0) { peg$fail(peg$c377); } } } if (s5 !== peg$FAILED) { s6 = peg$parsee(); if (s6 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c376(s1, s3, s5); + s1 = peg$c378(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -19474,7 +19559,7 @@ module.exports = (function() { s4 = peg$parseo(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c377(s1, s3); + s1 = peg$c379(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -19538,7 +19623,7 @@ module.exports = (function() { s6 = peg$parseo(); if (s6 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c378(s1, s3, s5); + s1 = peg$c380(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -19652,7 +19737,7 @@ module.exports = (function() { s3 = peg$parsesym_semi(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c379(s1, s3); + s1 = peg$c381(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -19725,7 +19810,7 @@ module.exports = (function() { s9 = peg$parsecreate_as_select(); if (s9 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c381(s1, s3, s4, s6, s7, s9); + s1 = peg$c383(s1, s3, s4, s6, s7, s9); s0 = s1; } else { peg$currPos = s0; @@ -19766,7 +19851,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c380); } + if (peg$silentFails === 0) { peg$fail(peg$c382); } } if (s0 !== peg$FAILED) { @@ -19887,7 +19972,7 @@ module.exports = (function() { if (s10 !== peg$FAILED) { s11 = peg$parsee(); if (s11 !== peg$FAILED) { - s12 = peg$parsename(); + s12 = peg$parsename_unquoted(); if (s12 !== peg$FAILED) { s13 = peg$parseo(); if (s13 !== peg$FAILED) { @@ -19897,7 +19982,7 @@ module.exports = (function() { } if (s14 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c383(s1, s3, s5, s7, s8, s12, s14); + s1 = peg$c385(s1, s3, s5, s7, s8, s12, s14); s0 = s1; } else { peg$currPos = s0; @@ -19958,7 +20043,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c382); } + if (peg$silentFails === 0) { peg$fail(peg$c384); } } if (s0 !== peg$FAILED) { @@ -20002,7 +20087,7 @@ module.exports = (function() { s4 = peg$parsesym_pclose(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c321(s2); + s1 = peg$c323(s2); s0 = s1; } else { peg$currPos = s0; @@ -20157,7 +20242,7 @@ module.exports = (function() { s5 = peg$parseo(); if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c385(s1, s2, s3, s4); + s1 = peg$c387(s1, s2, s3, s4); s0 = s1; } else { peg$currPos = s0; @@ -20182,7 +20267,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c384); } + if (peg$silentFails === 0) { peg$fail(peg$c386); } } if (s0 !== peg$FAILED) { @@ -20331,7 +20416,7 @@ module.exports = (function() { s4 = peg$parsee(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c386(s1, s3); + s1 = peg$c388(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -20381,12 +20466,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (peg$c387.test(input.charAt(peg$currPos))) { + if (peg$c389.test(input.charAt(peg$currPos))) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c388); } + if (peg$silentFails === 0) { peg$fail(peg$c390); } } if (s0 !== peg$FAILED) { @@ -20409,45 +20494,6 @@ module.exports = (function() { return s0; } - function peg$parsename_char_quoted() { - var s0, - startPos = peg$currPos; - - peg$tracer.trace({ - type: "rule.enter", - rule: "name_char_quoted", - description: peg$descNames["name_char_quoted"], - location: peg$computeLocation(startPos, startPos) - }); - - if (peg$c389.test(input.charAt(peg$currPos))) { - s0 = input.charAt(peg$currPos); - peg$currPos++; - } else { - s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c390); } - } - - if (s0 !== peg$FAILED) { - peg$tracer.trace({ - type: "rule.match", - rule: "name_char_quoted", - result: s0, - description: peg$descNames["name_char_quoted"], - location: peg$computeLocation(startPos, peg$currPos) - }); - } else { - peg$tracer.trace({ - type: "rule.fail", - rule: "name_char_quoted", - description: peg$descNames["name_char_quoted"], - location: peg$computeLocation(startPos, startPos) - }); - } - - return s0; - } - function peg$parsename() { var s0, startPos = peg$currPos; @@ -20518,7 +20564,8 @@ module.exports = (function() { s2 = peg$FAILED; } if (s2 !== peg$FAILED) { - s1 = [s1, s2]; + peg$savedPos = s0; + s1 = peg$c391(s1); s0 = s1; } else { peg$currPos = s0; @@ -20616,7 +20663,7 @@ module.exports = (function() { } function peg$parsename_bracketed() { - var s0, s1, s2, s3, s4, s5, + var s0, s1, s2, s3, s4, startPos = peg$currPos; peg$tracer.trace({ @@ -20630,57 +20677,11 @@ module.exports = (function() { s1 = peg$parsesym_bopen(); if (s1 !== peg$FAILED) { s2 = []; - s3 = peg$currPos; - s4 = peg$currPos; - peg$silentFails++; - s5 = peg$parsesym_bclose(); - peg$silentFails--; - if (s5 === peg$FAILED) { - s4 = void 0; - } else { - peg$currPos = s4; - s4 = peg$FAILED; - } - if (s4 !== peg$FAILED) { - s5 = peg$parsename_char_quoted(); - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } + s3 = peg$parsename_bracketed_schar(); if (s3 !== peg$FAILED) { while (s3 !== peg$FAILED) { s2.push(s3); - s3 = peg$currPos; - s4 = peg$currPos; - peg$silentFails++; - s5 = peg$parsesym_bclose(); - peg$silentFails--; - if (s5 === peg$FAILED) { - s4 = void 0; - } else { - peg$currPos = s4; - s4 = peg$FAILED; - } - if (s4 !== peg$FAILED) { - s5 = peg$parsename_char_quoted(); - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } + s3 = peg$parsename_bracketed_schar(); } } else { s2 = peg$FAILED; @@ -20730,105 +20731,135 @@ module.exports = (function() { return s0; } - function peg$parsename_dblquoted() { - var s0, s1, s2, s3, s4, s5, + function peg$parsename_bracketed_schar() { + var s0, s1, s2, s3, s4, startPos = peg$currPos; peg$tracer.trace({ type: "rule.enter", - rule: "name_dblquoted", - description: peg$descNames["name_dblquoted"], + rule: "name_bracketed_schar", + description: peg$descNames["name_bracketed_schar"], location: peg$computeLocation(startPos, startPos) }); s0 = peg$currPos; - if (input.charCodeAt(peg$currPos) === 34) { - s1 = peg$c391; - peg$currPos++; - } else { - s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c392); } + s1 = peg$currPos; + peg$silentFails++; + s2 = peg$currPos; + s3 = []; + s4 = peg$parsewhitespace_space(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parsewhitespace_space(); } - if (s1 !== peg$FAILED) { - s2 = []; - s3 = peg$currPos; - s4 = peg$currPos; - peg$silentFails++; - if (input.charCodeAt(peg$currPos) === 34) { - s5 = peg$c391; + if (s3 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 93) { + s4 = peg$c392; peg$currPos++; } else { - s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c392); } - } - peg$silentFails--; - if (s5 === peg$FAILED) { - s4 = void 0; - } else { - peg$currPos = s4; s4 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c393); } } if (s4 !== peg$FAILED) { - s5 = peg$parsename_char_quoted(); - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } + s3 = [s3, s4]; + s2 = s3; } else { - peg$currPos = s3; - s3 = peg$FAILED; + peg$currPos = s2; + s2 = peg$FAILED; } + } else { + peg$currPos = s2; + s2 = peg$FAILED; + } + peg$silentFails--; + if (s2 === peg$FAILED) { + s1 = void 0; + } else { + peg$currPos = s1; + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + if (peg$c394.test(input.charAt(peg$currPos))) { + s2 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c395); } + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c8(s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + if (s0 !== peg$FAILED) { + peg$tracer.trace({ + type: "rule.match", + rule: "name_bracketed_schar", + result: s0, + description: peg$descNames["name_bracketed_schar"], + location: peg$computeLocation(startPos, peg$currPos) + }); + } else { + peg$tracer.trace({ + type: "rule.fail", + rule: "name_bracketed_schar", + description: peg$descNames["name_bracketed_schar"], + location: peg$computeLocation(startPos, startPos) + }); + } + + return s0; + } + + function peg$parsename_dblquoted() { + var s0, s1, s2, s3, + startPos = peg$currPos; + + peg$tracer.trace({ + type: "rule.enter", + rule: "name_dblquoted", + description: peg$descNames["name_dblquoted"], + location: peg$computeLocation(startPos, startPos) + }); + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 34) { + s1 = peg$c396; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c397); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parsename_dblquoted_schar(); if (s3 !== peg$FAILED) { while (s3 !== peg$FAILED) { s2.push(s3); - s3 = peg$currPos; - s4 = peg$currPos; - peg$silentFails++; - if (input.charCodeAt(peg$currPos) === 34) { - s5 = peg$c391; - peg$currPos++; - } else { - s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c392); } - } - peg$silentFails--; - if (s5 === peg$FAILED) { - s4 = void 0; - } else { - peg$currPos = s4; - s4 = peg$FAILED; - } - if (s4 !== peg$FAILED) { - s5 = peg$parsename_char_quoted(); - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } + s3 = peg$parsename_dblquoted_schar(); } } else { s2 = peg$FAILED; } if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 34) { - s3 = peg$c391; + s3 = peg$c396; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c392); } + if (peg$silentFails === 0) { peg$fail(peg$c397); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c40(s2); + s1 = peg$c398(s2); s0 = s1; } else { peg$currPos = s0; @@ -20863,8 +20894,56 @@ module.exports = (function() { return s0; } + function peg$parsename_dblquoted_schar() { + var s0, + startPos = peg$currPos; + + peg$tracer.trace({ + type: "rule.enter", + rule: "name_dblquoted_schar", + description: peg$descNames["name_dblquoted_schar"], + location: peg$computeLocation(startPos, startPos) + }); + + if (input.substr(peg$currPos, 2) === peg$c399) { + s0 = peg$c399; + peg$currPos += 2; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c400); } + } + if (s0 === peg$FAILED) { + if (peg$c401.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c402); } + } + } + + if (s0 !== peg$FAILED) { + peg$tracer.trace({ + type: "rule.match", + rule: "name_dblquoted_schar", + result: s0, + description: peg$descNames["name_dblquoted_schar"], + location: peg$computeLocation(startPos, peg$currPos) + }); + } else { + peg$tracer.trace({ + type: "rule.fail", + rule: "name_dblquoted_schar", + description: peg$descNames["name_dblquoted_schar"], + location: peg$computeLocation(startPos, startPos) + }); + } + + return s0; + } + function peg$parsename_backticked() { - var s0, s1, s2, s3, s4, s5, + var s0, s1, s2, s3, startPos = peg$currPos; peg$tracer.trace({ @@ -20876,92 +20955,34 @@ module.exports = (function() { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 96) { - s1 = peg$c393; + s1 = peg$c403; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c394); } + if (peg$silentFails === 0) { peg$fail(peg$c404); } } if (s1 !== peg$FAILED) { s2 = []; - s3 = peg$currPos; - s4 = peg$currPos; - peg$silentFails++; - if (input.charCodeAt(peg$currPos) === 96) { - s5 = peg$c393; - peg$currPos++; - } else { - s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c394); } - } - peg$silentFails--; - if (s5 === peg$FAILED) { - s4 = void 0; - } else { - peg$currPos = s4; - s4 = peg$FAILED; - } - if (s4 !== peg$FAILED) { - s5 = peg$parsename_char_quoted(); - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } + s3 = peg$parsename_backticked_schar(); if (s3 !== peg$FAILED) { while (s3 !== peg$FAILED) { s2.push(s3); - s3 = peg$currPos; - s4 = peg$currPos; - peg$silentFails++; - if (input.charCodeAt(peg$currPos) === 96) { - s5 = peg$c393; - peg$currPos++; - } else { - s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c394); } - } - peg$silentFails--; - if (s5 === peg$FAILED) { - s4 = void 0; - } else { - peg$currPos = s4; - s4 = peg$FAILED; - } - if (s4 !== peg$FAILED) { - s5 = peg$parsename_char_quoted(); - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } + s3 = peg$parsename_backticked_schar(); } } else { s2 = peg$FAILED; } if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 96) { - s3 = peg$c393; + s3 = peg$c403; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c394); } + if (peg$silentFails === 0) { peg$fail(peg$c404); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c40(s2); + s1 = peg$c405(s2); s0 = s1; } else { peg$currPos = s0; @@ -20996,6 +21017,54 @@ module.exports = (function() { return s0; } + function peg$parsename_backticked_schar() { + var s0, + startPos = peg$currPos; + + peg$tracer.trace({ + type: "rule.enter", + rule: "name_backticked_schar", + description: peg$descNames["name_backticked_schar"], + location: peg$computeLocation(startPos, startPos) + }); + + if (input.substr(peg$currPos, 2) === peg$c406) { + s0 = peg$c406; + peg$currPos += 2; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c407); } + } + if (s0 === peg$FAILED) { + if (peg$c408.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c409); } + } + } + + if (s0 !== peg$FAILED) { + peg$tracer.trace({ + type: "rule.match", + rule: "name_backticked_schar", + result: s0, + description: peg$descNames["name_backticked_schar"], + location: peg$computeLocation(startPos, peg$currPos) + }); + } else { + peg$tracer.trace({ + type: "rule.fail", + rule: "name_backticked_schar", + description: peg$descNames["name_backticked_schar"], + location: peg$computeLocation(startPos, startPos) + }); + } + + return s0; + } + function peg$parsesym_bopen() { var s0, s1, s2, startPos = peg$currPos; @@ -21010,11 +21079,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 91) { - s1 = peg$c396; + s1 = peg$c411; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c397); } + if (peg$silentFails === 0) { peg$fail(peg$c412); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21033,7 +21102,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c395); } + if (peg$silentFails === 0) { peg$fail(peg$c410); } } if (s0 !== peg$FAILED) { @@ -21070,11 +21139,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 93) { - s1 = peg$c399; + s1 = peg$c392; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c400); } + if (peg$silentFails === 0) { peg$fail(peg$c393); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21093,7 +21162,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c398); } + if (peg$silentFails === 0) { peg$fail(peg$c413); } } if (s0 !== peg$FAILED) { @@ -21130,11 +21199,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 40) { - s1 = peg$c402; + s1 = peg$c415; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c403); } + if (peg$silentFails === 0) { peg$fail(peg$c416); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21153,7 +21222,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c401); } + if (peg$silentFails === 0) { peg$fail(peg$c414); } } if (s0 !== peg$FAILED) { @@ -21190,11 +21259,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 41) { - s1 = peg$c405; + s1 = peg$c418; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c406); } + if (peg$silentFails === 0) { peg$fail(peg$c419); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21213,7 +21282,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c404); } + if (peg$silentFails === 0) { peg$fail(peg$c417); } } if (s0 !== peg$FAILED) { @@ -21250,11 +21319,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 44) { - s1 = peg$c408; + s1 = peg$c421; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c409); } + if (peg$silentFails === 0) { peg$fail(peg$c422); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21273,7 +21342,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c407); } + if (peg$silentFails === 0) { peg$fail(peg$c420); } } if (s0 !== peg$FAILED) { @@ -21310,11 +21379,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 46) { - s1 = peg$c411; + s1 = peg$c424; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c412); } + if (peg$silentFails === 0) { peg$fail(peg$c425); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21333,7 +21402,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c410); } + if (peg$silentFails === 0) { peg$fail(peg$c423); } } if (s0 !== peg$FAILED) { @@ -21370,11 +21439,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 42) { - s1 = peg$c414; + s1 = peg$c427; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c415); } + if (peg$silentFails === 0) { peg$fail(peg$c428); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21393,7 +21462,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c413); } + if (peg$silentFails === 0) { peg$fail(peg$c426); } } if (s0 !== peg$FAILED) { @@ -21430,11 +21499,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 63) { - s1 = peg$c417; + s1 = peg$c430; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c418); } + if (peg$silentFails === 0) { peg$fail(peg$c431); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21453,7 +21522,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c416); } + if (peg$silentFails === 0) { peg$fail(peg$c429); } } if (s0 !== peg$FAILED) { @@ -21490,11 +21559,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 39) { - s1 = peg$c420; + s1 = peg$c433; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c421); } + if (peg$silentFails === 0) { peg$fail(peg$c434); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21513,7 +21582,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c419); } + if (peg$silentFails === 0) { peg$fail(peg$c432); } } if (s0 !== peg$FAILED) { @@ -21550,11 +21619,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 34) { - s1 = peg$c391; + s1 = peg$c396; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c392); } + if (peg$silentFails === 0) { peg$fail(peg$c397); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21573,7 +21642,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c422); } + if (peg$silentFails === 0) { peg$fail(peg$c435); } } if (s0 !== peg$FAILED) { @@ -21610,11 +21679,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 96) { - s1 = peg$c393; + s1 = peg$c403; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c394); } + if (peg$silentFails === 0) { peg$fail(peg$c404); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21633,7 +21702,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c423); } + if (peg$silentFails === 0) { peg$fail(peg$c436); } } if (s0 !== peg$FAILED) { @@ -21670,11 +21739,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 126) { - s1 = peg$c425; + s1 = peg$c438; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c426); } + if (peg$silentFails === 0) { peg$fail(peg$c439); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21693,7 +21762,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c424); } + if (peg$silentFails === 0) { peg$fail(peg$c437); } } if (s0 !== peg$FAILED) { @@ -21730,11 +21799,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 43) { - s1 = peg$c428; + s1 = peg$c441; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c429); } + if (peg$silentFails === 0) { peg$fail(peg$c442); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21753,7 +21822,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c427); } + if (peg$silentFails === 0) { peg$fail(peg$c440); } } if (s0 !== peg$FAILED) { @@ -21790,11 +21859,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 45) { - s1 = peg$c431; + s1 = peg$c444; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c432); } + if (peg$silentFails === 0) { peg$fail(peg$c445); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21813,7 +21882,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c430); } + if (peg$silentFails === 0) { peg$fail(peg$c443); } } if (s0 !== peg$FAILED) { @@ -21850,11 +21919,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 61) { - s1 = peg$c433; + s1 = peg$c446; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c434); } + if (peg$silentFails === 0) { peg$fail(peg$c447); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21910,11 +21979,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 38) { - s1 = peg$c436; + s1 = peg$c449; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c437); } + if (peg$silentFails === 0) { peg$fail(peg$c450); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21933,7 +22002,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c435); } + if (peg$silentFails === 0) { peg$fail(peg$c448); } } if (s0 !== peg$FAILED) { @@ -21970,11 +22039,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 124) { - s1 = peg$c439; + s1 = peg$c452; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c440); } + if (peg$silentFails === 0) { peg$fail(peg$c453); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21993,7 +22062,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c438); } + if (peg$silentFails === 0) { peg$fail(peg$c451); } } if (s0 !== peg$FAILED) { @@ -22030,11 +22099,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 37) { - s1 = peg$c441; + s1 = peg$c454; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c442); } + if (peg$silentFails === 0) { peg$fail(peg$c455); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -22090,11 +22159,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 60) { - s1 = peg$c443; + s1 = peg$c456; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c444); } + if (peg$silentFails === 0) { peg$fail(peg$c457); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -22150,11 +22219,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 62) { - s1 = peg$c445; + s1 = peg$c458; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c446); } + if (peg$silentFails === 0) { peg$fail(peg$c459); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -22210,11 +22279,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 33) { - s1 = peg$c448; + s1 = peg$c461; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c449); } + if (peg$silentFails === 0) { peg$fail(peg$c462); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -22233,7 +22302,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c447); } + if (peg$silentFails === 0) { peg$fail(peg$c460); } } if (s0 !== peg$FAILED) { @@ -22270,11 +22339,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 59) { - s1 = peg$c451; + s1 = peg$c464; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c452); } + if (peg$silentFails === 0) { peg$fail(peg$c465); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -22293,7 +22362,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c450); } + if (peg$silentFails === 0) { peg$fail(peg$c463); } } if (s0 !== peg$FAILED) { @@ -22353,7 +22422,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c453); } + if (peg$silentFails === 0) { peg$fail(peg$c466); } } if (s0 !== peg$FAILED) { @@ -22390,11 +22459,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 47) { - s1 = peg$c455; + s1 = peg$c468; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c456); } + if (peg$silentFails === 0) { peg$fail(peg$c469); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -22413,7 +22482,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c454); } + if (peg$silentFails === 0) { peg$fail(peg$c467); } } if (s0 !== peg$FAILED) { @@ -22450,11 +22519,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c458; + s1 = peg$c471; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c459); } + if (peg$silentFails === 0) { peg$fail(peg$c472); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -22473,7 +22542,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c457); } + if (peg$silentFails === 0) { peg$fail(peg$c470); } } if (s0 !== peg$FAILED) { @@ -22507,12 +22576,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c460) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c473) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c461); } + if (peg$silentFails === 0) { peg$fail(peg$c474); } } if (s0 !== peg$FAILED) { @@ -22546,12 +22615,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c462) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c475) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c463); } + if (peg$silentFails === 0) { peg$fail(peg$c476); } } if (s0 !== peg$FAILED) { @@ -22585,12 +22654,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c464) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c477) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c465); } + if (peg$silentFails === 0) { peg$fail(peg$c478); } } if (s0 !== peg$FAILED) { @@ -22624,12 +22693,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c466) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c479) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c467); } + if (peg$silentFails === 0) { peg$fail(peg$c480); } } if (s0 !== peg$FAILED) { @@ -22663,12 +22732,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c468) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c481) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c469); } + if (peg$silentFails === 0) { peg$fail(peg$c482); } } if (s0 !== peg$FAILED) { @@ -22702,12 +22771,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c470) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c483) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c471); } + if (peg$silentFails === 0) { peg$fail(peg$c484); } } if (s0 !== peg$FAILED) { @@ -22741,12 +22810,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c472) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c485) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c473); } + if (peg$silentFails === 0) { peg$fail(peg$c486); } } if (s0 !== peg$FAILED) { @@ -22780,12 +22849,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c474) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c487) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c475); } + if (peg$silentFails === 0) { peg$fail(peg$c488); } } if (s0 !== peg$FAILED) { @@ -22819,12 +22888,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c476) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c489) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c477); } + if (peg$silentFails === 0) { peg$fail(peg$c490); } } if (s0 !== peg$FAILED) { @@ -22858,12 +22927,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c478) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c491) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c479); } + if (peg$silentFails === 0) { peg$fail(peg$c492); } } if (s0 !== peg$FAILED) { @@ -22897,12 +22966,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c480) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c493) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c481); } + if (peg$silentFails === 0) { peg$fail(peg$c494); } } if (s0 !== peg$FAILED) { @@ -22936,12 +23005,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 13).toLowerCase() === peg$c482) { + if (input.substr(peg$currPos, 13).toLowerCase() === peg$c495) { s0 = input.substr(peg$currPos, 13); peg$currPos += 13; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c483); } + if (peg$silentFails === 0) { peg$fail(peg$c496); } } if (s0 !== peg$FAILED) { @@ -22975,12 +23044,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c484) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c497) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c485); } + if (peg$silentFails === 0) { peg$fail(peg$c498); } } if (s0 !== peg$FAILED) { @@ -23014,12 +23083,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c486) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c499) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c487); } + if (peg$silentFails === 0) { peg$fail(peg$c500); } } if (s0 !== peg$FAILED) { @@ -23053,12 +23122,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c488) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c501) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c489); } + if (peg$silentFails === 0) { peg$fail(peg$c502); } } if (s0 !== peg$FAILED) { @@ -23092,12 +23161,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c490) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c503) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c491); } + if (peg$silentFails === 0) { peg$fail(peg$c504); } } if (s0 !== peg$FAILED) { @@ -23131,12 +23200,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c492) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c505) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c493); } + if (peg$silentFails === 0) { peg$fail(peg$c506); } } if (s0 !== peg$FAILED) { @@ -23170,12 +23239,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c494) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c507) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c495); } + if (peg$silentFails === 0) { peg$fail(peg$c508); } } if (s0 !== peg$FAILED) { @@ -23209,12 +23278,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c496) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c509) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c497); } + if (peg$silentFails === 0) { peg$fail(peg$c510); } } if (s0 !== peg$FAILED) { @@ -23248,12 +23317,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c498) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c511) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c499); } + if (peg$silentFails === 0) { peg$fail(peg$c512); } } if (s0 !== peg$FAILED) { @@ -23287,12 +23356,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c500) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c513) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c501); } + if (peg$silentFails === 0) { peg$fail(peg$c514); } } if (s0 !== peg$FAILED) { @@ -23326,12 +23395,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c502) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c515) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c503); } + if (peg$silentFails === 0) { peg$fail(peg$c516); } } if (s0 !== peg$FAILED) { @@ -23365,12 +23434,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c504) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c517) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c505); } + if (peg$silentFails === 0) { peg$fail(peg$c518); } } if (s0 !== peg$FAILED) { @@ -23404,12 +23473,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8).toLowerCase() === peg$c506) { + if (input.substr(peg$currPos, 8).toLowerCase() === peg$c519) { s0 = input.substr(peg$currPos, 8); peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c507); } + if (peg$silentFails === 0) { peg$fail(peg$c520); } } if (s0 !== peg$FAILED) { @@ -23443,12 +23512,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 10).toLowerCase() === peg$c508) { + if (input.substr(peg$currPos, 10).toLowerCase() === peg$c521) { s0 = input.substr(peg$currPos, 10); peg$currPos += 10; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c509); } + if (peg$silentFails === 0) { peg$fail(peg$c522); } } if (s0 !== peg$FAILED) { @@ -23482,12 +23551,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c510) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c523) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c511); } + if (peg$silentFails === 0) { peg$fail(peg$c524); } } if (s0 !== peg$FAILED) { @@ -23521,12 +23590,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c512) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c525) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c513); } + if (peg$silentFails === 0) { peg$fail(peg$c526); } } if (s0 !== peg$FAILED) { @@ -23560,12 +23629,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 12).toLowerCase() === peg$c514) { + if (input.substr(peg$currPos, 12).toLowerCase() === peg$c527) { s0 = input.substr(peg$currPos, 12); peg$currPos += 12; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c515); } + if (peg$silentFails === 0) { peg$fail(peg$c528); } } if (s0 !== peg$FAILED) { @@ -23599,12 +23668,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 12).toLowerCase() === peg$c516) { + if (input.substr(peg$currPos, 12).toLowerCase() === peg$c529) { s0 = input.substr(peg$currPos, 12); peg$currPos += 12; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c517); } + if (peg$silentFails === 0) { peg$fail(peg$c530); } } if (s0 !== peg$FAILED) { @@ -23638,12 +23707,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 17).toLowerCase() === peg$c518) { + if (input.substr(peg$currPos, 17).toLowerCase() === peg$c531) { s0 = input.substr(peg$currPos, 17); peg$currPos += 17; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c519); } + if (peg$silentFails === 0) { peg$fail(peg$c532); } } if (s0 !== peg$FAILED) { @@ -23677,12 +23746,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8).toLowerCase() === peg$c520) { + if (input.substr(peg$currPos, 8).toLowerCase() === peg$c533) { s0 = input.substr(peg$currPos, 8); peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c521); } + if (peg$silentFails === 0) { peg$fail(peg$c534); } } if (s0 !== peg$FAILED) { @@ -23716,12 +23785,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c522) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c535) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c523); } + if (peg$silentFails === 0) { peg$fail(peg$c536); } } if (s0 !== peg$FAILED) { @@ -23755,12 +23824,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 10).toLowerCase() === peg$c524) { + if (input.substr(peg$currPos, 10).toLowerCase() === peg$c537) { s0 = input.substr(peg$currPos, 10); peg$currPos += 10; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c525); } + if (peg$silentFails === 0) { peg$fail(peg$c538); } } if (s0 !== peg$FAILED) { @@ -23794,12 +23863,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8).toLowerCase() === peg$c526) { + if (input.substr(peg$currPos, 8).toLowerCase() === peg$c539) { s0 = input.substr(peg$currPos, 8); peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c527); } + if (peg$silentFails === 0) { peg$fail(peg$c540); } } if (s0 !== peg$FAILED) { @@ -23833,12 +23902,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c528) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c541) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c529); } + if (peg$silentFails === 0) { peg$fail(peg$c542); } } if (s0 !== peg$FAILED) { @@ -23872,12 +23941,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c530) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c543) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c531); } + if (peg$silentFails === 0) { peg$fail(peg$c544); } } if (s0 !== peg$FAILED) { @@ -23911,12 +23980,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c532) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c545) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c533); } + if (peg$silentFails === 0) { peg$fail(peg$c546); } } if (s0 !== peg$FAILED) { @@ -23950,12 +24019,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8).toLowerCase() === peg$c534) { + if (input.substr(peg$currPos, 8).toLowerCase() === peg$c547) { s0 = input.substr(peg$currPos, 8); peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c535); } + if (peg$silentFails === 0) { peg$fail(peg$c548); } } if (s0 !== peg$FAILED) { @@ -23989,12 +24058,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c536) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c549) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c537); } + if (peg$silentFails === 0) { peg$fail(peg$c550); } } if (s0 !== peg$FAILED) { @@ -24028,12 +24097,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c538) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c551) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c539); } + if (peg$silentFails === 0) { peg$fail(peg$c552); } } if (s0 !== peg$FAILED) { @@ -24067,12 +24136,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c540) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c553) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c541); } + if (peg$silentFails === 0) { peg$fail(peg$c554); } } if (s0 !== peg$FAILED) { @@ -24106,12 +24175,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c542) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c555) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c543); } + if (peg$silentFails === 0) { peg$fail(peg$c556); } } if (s0 !== peg$FAILED) { @@ -24145,12 +24214,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c544) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c557) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c545); } + if (peg$silentFails === 0) { peg$fail(peg$c558); } } if (s0 !== peg$FAILED) { @@ -24184,12 +24253,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c546) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c559) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c547); } + if (peg$silentFails === 0) { peg$fail(peg$c560); } } if (s0 !== peg$FAILED) { @@ -24223,12 +24292,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c548) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c561) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c549); } + if (peg$silentFails === 0) { peg$fail(peg$c562); } } if (s0 !== peg$FAILED) { @@ -24262,12 +24331,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c550) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c563) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c551); } + if (peg$silentFails === 0) { peg$fail(peg$c564); } } if (s0 !== peg$FAILED) { @@ -24301,12 +24370,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c552) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c565) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c553); } + if (peg$silentFails === 0) { peg$fail(peg$c566); } } if (s0 !== peg$FAILED) { @@ -24340,12 +24409,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c554) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c567) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c555); } + if (peg$silentFails === 0) { peg$fail(peg$c568); } } if (s0 !== peg$FAILED) { @@ -24379,12 +24448,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c556) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c569) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c557); } + if (peg$silentFails === 0) { peg$fail(peg$c570); } } if (s0 !== peg$FAILED) { @@ -24418,12 +24487,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c558) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c571) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c559); } + if (peg$silentFails === 0) { peg$fail(peg$c572); } } if (s0 !== peg$FAILED) { @@ -24457,12 +24526,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c560) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c573) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c561); } + if (peg$silentFails === 0) { peg$fail(peg$c574); } } if (s0 !== peg$FAILED) { @@ -24496,12 +24565,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c562) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c575) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c563); } + if (peg$silentFails === 0) { peg$fail(peg$c576); } } if (s0 !== peg$FAILED) { @@ -24535,12 +24604,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c564) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c577) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c565); } + if (peg$silentFails === 0) { peg$fail(peg$c578); } } if (s0 !== peg$FAILED) { @@ -24574,12 +24643,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c566) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c579) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c567); } + if (peg$silentFails === 0) { peg$fail(peg$c580); } } if (s0 !== peg$FAILED) { @@ -24613,12 +24682,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c568) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c581) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c569); } + if (peg$silentFails === 0) { peg$fail(peg$c582); } } if (s0 !== peg$FAILED) { @@ -24652,12 +24721,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c570) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c583) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c571); } + if (peg$silentFails === 0) { peg$fail(peg$c584); } } if (s0 !== peg$FAILED) { @@ -24691,12 +24760,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c572) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c585) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c573); } + if (peg$silentFails === 0) { peg$fail(peg$c586); } } if (s0 !== peg$FAILED) { @@ -24730,12 +24799,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c574) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c587) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c575); } + if (peg$silentFails === 0) { peg$fail(peg$c588); } } if (s0 !== peg$FAILED) { @@ -24769,12 +24838,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c576) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c589) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c577); } + if (peg$silentFails === 0) { peg$fail(peg$c590); } } if (s0 !== peg$FAILED) { @@ -24808,12 +24877,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c578) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c591) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c579); } + if (peg$silentFails === 0) { peg$fail(peg$c592); } } if (s0 !== peg$FAILED) { @@ -24847,12 +24916,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c580) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c593) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c581); } + if (peg$silentFails === 0) { peg$fail(peg$c594); } } if (s0 !== peg$FAILED) { @@ -24886,12 +24955,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c582) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c595) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c583); } + if (peg$silentFails === 0) { peg$fail(peg$c596); } } if (s0 !== peg$FAILED) { @@ -24925,12 +24994,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c584) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c597) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c585); } + if (peg$silentFails === 0) { peg$fail(peg$c598); } } if (s0 !== peg$FAILED) { @@ -24964,12 +25033,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c586) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c599) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c587); } + if (peg$silentFails === 0) { peg$fail(peg$c600); } } if (s0 !== peg$FAILED) { @@ -25003,12 +25072,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c588) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c601) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c589); } + if (peg$silentFails === 0) { peg$fail(peg$c602); } } if (s0 !== peg$FAILED) { @@ -25042,12 +25111,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c590) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c603) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c591); } + if (peg$silentFails === 0) { peg$fail(peg$c604); } } if (s0 !== peg$FAILED) { @@ -25081,12 +25150,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c592) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c605) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c593); } + if (peg$silentFails === 0) { peg$fail(peg$c606); } } if (s0 !== peg$FAILED) { @@ -25120,12 +25189,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c594) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c607) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c595); } + if (peg$silentFails === 0) { peg$fail(peg$c608); } } if (s0 !== peg$FAILED) { @@ -25159,12 +25228,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c596) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c609) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c597); } + if (peg$silentFails === 0) { peg$fail(peg$c610); } } if (s0 !== peg$FAILED) { @@ -25198,12 +25267,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c598) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c611) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c599); } + if (peg$silentFails === 0) { peg$fail(peg$c612); } } if (s0 !== peg$FAILED) { @@ -25237,12 +25306,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c600) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c613) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c601); } + if (peg$silentFails === 0) { peg$fail(peg$c614); } } if (s0 !== peg$FAILED) { @@ -25276,12 +25345,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c602) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c615) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c603); } + if (peg$silentFails === 0) { peg$fail(peg$c616); } } if (s0 !== peg$FAILED) { @@ -25315,12 +25384,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c604) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c617) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c605); } + if (peg$silentFails === 0) { peg$fail(peg$c618); } } if (s0 !== peg$FAILED) { @@ -25354,12 +25423,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c606) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c619) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c607); } + if (peg$silentFails === 0) { peg$fail(peg$c620); } } if (s0 !== peg$FAILED) { @@ -25393,12 +25462,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c608) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c621) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c609); } + if (peg$silentFails === 0) { peg$fail(peg$c622); } } if (s0 !== peg$FAILED) { @@ -25432,12 +25501,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c610) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c623) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c611); } + if (peg$silentFails === 0) { peg$fail(peg$c624); } } if (s0 !== peg$FAILED) { @@ -25471,12 +25540,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c612) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c625) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c613); } + if (peg$silentFails === 0) { peg$fail(peg$c626); } } if (s0 !== peg$FAILED) { @@ -25510,12 +25579,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c614) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c627) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c615); } + if (peg$silentFails === 0) { peg$fail(peg$c628); } } if (s0 !== peg$FAILED) { @@ -25549,12 +25618,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c616) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c629) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c617); } + if (peg$silentFails === 0) { peg$fail(peg$c630); } } if (s0 !== peg$FAILED) { @@ -25588,12 +25657,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c618) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c631) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c619); } + if (peg$silentFails === 0) { peg$fail(peg$c632); } } if (s0 !== peg$FAILED) { @@ -25627,12 +25696,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c620) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c633) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c621); } + if (peg$silentFails === 0) { peg$fail(peg$c634); } } if (s0 !== peg$FAILED) { @@ -25666,12 +25735,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c622) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c635) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c623); } + if (peg$silentFails === 0) { peg$fail(peg$c636); } } if (s0 !== peg$FAILED) { @@ -25705,12 +25774,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c624) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c637) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c625); } + if (peg$silentFails === 0) { peg$fail(peg$c638); } } if (s0 !== peg$FAILED) { @@ -25744,12 +25813,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c626) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c639) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c627); } + if (peg$silentFails === 0) { peg$fail(peg$c640); } } if (s0 !== peg$FAILED) { @@ -25783,12 +25852,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c628) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c641) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c629); } + if (peg$silentFails === 0) { peg$fail(peg$c642); } } if (s0 !== peg$FAILED) { @@ -25822,12 +25891,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c630) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c643) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c631); } + if (peg$silentFails === 0) { peg$fail(peg$c644); } } if (s0 !== peg$FAILED) { @@ -25861,12 +25930,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c632) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c645) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c633); } + if (peg$silentFails === 0) { peg$fail(peg$c646); } } if (s0 !== peg$FAILED) { @@ -25900,12 +25969,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c634) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c647) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c635); } + if (peg$silentFails === 0) { peg$fail(peg$c648); } } if (s0 !== peg$FAILED) { @@ -25939,12 +26008,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c636) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c649) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c637); } + if (peg$silentFails === 0) { peg$fail(peg$c650); } } if (s0 !== peg$FAILED) { @@ -25978,12 +26047,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c638) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c651) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c639); } + if (peg$silentFails === 0) { peg$fail(peg$c652); } } if (s0 !== peg$FAILED) { @@ -26017,12 +26086,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c640) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c653) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c641); } + if (peg$silentFails === 0) { peg$fail(peg$c654); } } if (s0 !== peg$FAILED) { @@ -26056,12 +26125,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c642) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c655) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c643); } + if (peg$silentFails === 0) { peg$fail(peg$c656); } } if (s0 !== peg$FAILED) { @@ -26095,12 +26164,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 10).toLowerCase() === peg$c644) { + if (input.substr(peg$currPos, 10).toLowerCase() === peg$c657) { s0 = input.substr(peg$currPos, 10); peg$currPos += 10; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c645); } + if (peg$silentFails === 0) { peg$fail(peg$c658); } } if (s0 !== peg$FAILED) { @@ -26134,12 +26203,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c646) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c659) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c647); } + if (peg$silentFails === 0) { peg$fail(peg$c660); } } if (s0 !== peg$FAILED) { @@ -26173,12 +26242,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c648) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c661) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c649); } + if (peg$silentFails === 0) { peg$fail(peg$c662); } } if (s0 !== peg$FAILED) { @@ -26212,12 +26281,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c650) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c663) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c651); } + if (peg$silentFails === 0) { peg$fail(peg$c664); } } if (s0 !== peg$FAILED) { @@ -26251,12 +26320,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c652) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c665) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c653); } + if (peg$silentFails === 0) { peg$fail(peg$c666); } } if (s0 !== peg$FAILED) { @@ -26290,12 +26359,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c654) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c667) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c655); } + if (peg$silentFails === 0) { peg$fail(peg$c668); } } if (s0 !== peg$FAILED) { @@ -26329,12 +26398,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8).toLowerCase() === peg$c656) { + if (input.substr(peg$currPos, 8).toLowerCase() === peg$c669) { s0 = input.substr(peg$currPos, 8); peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c657); } + if (peg$silentFails === 0) { peg$fail(peg$c670); } } if (s0 !== peg$FAILED) { @@ -26368,12 +26437,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c658) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c671) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c659); } + if (peg$silentFails === 0) { peg$fail(peg$c672); } } if (s0 !== peg$FAILED) { @@ -26407,12 +26476,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8).toLowerCase() === peg$c660) { + if (input.substr(peg$currPos, 8).toLowerCase() === peg$c673) { s0 = input.substr(peg$currPos, 8); peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c661); } + if (peg$silentFails === 0) { peg$fail(peg$c674); } } if (s0 !== peg$FAILED) { @@ -26446,12 +26515,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c662) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c675) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c663); } + if (peg$silentFails === 0) { peg$fail(peg$c676); } } if (s0 !== peg$FAILED) { @@ -26485,12 +26554,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c664) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c677) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c665); } + if (peg$silentFails === 0) { peg$fail(peg$c678); } } if (s0 !== peg$FAILED) { @@ -26524,12 +26593,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c666) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c679) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c667); } + if (peg$silentFails === 0) { peg$fail(peg$c680); } } if (s0 !== peg$FAILED) { @@ -26563,12 +26632,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c668) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c681) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c669); } + if (peg$silentFails === 0) { peg$fail(peg$c682); } } if (s0 !== peg$FAILED) { @@ -26602,12 +26671,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c670) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c683) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c671); } + if (peg$silentFails === 0) { peg$fail(peg$c684); } } if (s0 !== peg$FAILED) { @@ -26641,12 +26710,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c672) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c685) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c673); } + if (peg$silentFails === 0) { peg$fail(peg$c686); } } if (s0 !== peg$FAILED) { @@ -26680,12 +26749,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c674) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c687) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c675); } + if (peg$silentFails === 0) { peg$fail(peg$c688); } } if (s0 !== peg$FAILED) { @@ -26719,12 +26788,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c676) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c689) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c677); } + if (peg$silentFails === 0) { peg$fail(peg$c690); } } if (s0 !== peg$FAILED) { @@ -26758,12 +26827,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c678) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c691) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c679); } + if (peg$silentFails === 0) { peg$fail(peg$c692); } } if (s0 !== peg$FAILED) { @@ -26797,12 +26866,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c680) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c693) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c681); } + if (peg$silentFails === 0) { peg$fail(peg$c694); } } if (s0 !== peg$FAILED) { @@ -26836,12 +26905,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 11).toLowerCase() === peg$c682) { + if (input.substr(peg$currPos, 11).toLowerCase() === peg$c695) { s0 = input.substr(peg$currPos, 11); peg$currPos += 11; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c683); } + if (peg$silentFails === 0) { peg$fail(peg$c696); } } if (s0 !== peg$FAILED) { @@ -26875,12 +26944,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c684) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c697) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c685); } + if (peg$silentFails === 0) { peg$fail(peg$c698); } } if (s0 !== peg$FAILED) { @@ -26914,12 +26983,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c686) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c699) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c687); } + if (peg$silentFails === 0) { peg$fail(peg$c700); } } if (s0 !== peg$FAILED) { @@ -26953,12 +27022,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c688) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c701) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c689); } + if (peg$silentFails === 0) { peg$fail(peg$c702); } } if (s0 !== peg$FAILED) { @@ -26992,12 +27061,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c690) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c703) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c691); } + if (peg$silentFails === 0) { peg$fail(peg$c704); } } if (s0 !== peg$FAILED) { @@ -27031,12 +27100,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c692) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c705) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c693); } + if (peg$silentFails === 0) { peg$fail(peg$c706); } } if (s0 !== peg$FAILED) { @@ -27070,12 +27139,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c694) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c707) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c695); } + if (peg$silentFails === 0) { peg$fail(peg$c708); } } if (s0 !== peg$FAILED) { @@ -27109,12 +27178,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c696) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c709) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c697); } + if (peg$silentFails === 0) { peg$fail(peg$c710); } } if (s0 !== peg$FAILED) { @@ -27148,12 +27217,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c698) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c711) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c699); } + if (peg$silentFails === 0) { peg$fail(peg$c712); } } if (s0 !== peg$FAILED) { @@ -27187,12 +27256,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c700) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c713) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c701); } + if (peg$silentFails === 0) { peg$fail(peg$c714); } } if (s0 !== peg$FAILED) { @@ -27226,12 +27295,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c702) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c715) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c703); } + if (peg$silentFails === 0) { peg$fail(peg$c716); } } if (s0 !== peg$FAILED) { @@ -27265,12 +27334,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c704) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c717) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c705); } + if (peg$silentFails === 0) { peg$fail(peg$c718); } } if (s0 !== peg$FAILED) { @@ -27304,12 +27373,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c706) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c719) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c707); } + if (peg$silentFails === 0) { peg$fail(peg$c720); } } if (s0 !== peg$FAILED) { @@ -27343,12 +27412,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c708) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c721) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c709); } + if (peg$silentFails === 0) { peg$fail(peg$c722); } } if (s0 !== peg$FAILED) { @@ -27386,7 +27455,7 @@ module.exports = (function() { s1 = peg$parsereserved_word_list(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c710(s1); + s1 = peg$c723(s1); } s0 = s1; @@ -27941,7 +28010,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c711); } + if (peg$silentFails === 0) { peg$fail(peg$c724); } } if (s0 !== peg$FAILED) { @@ -28006,7 +28075,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c712); } + if (peg$silentFails === 0) { peg$fail(peg$c725); } } if (s0 !== peg$FAILED) { @@ -28344,12 +28413,12 @@ module.exports = (function() { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c714); } + if (peg$silentFails === 0) { peg$fail(peg$c727); } } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c713); } + if (peg$silentFails === 0) { peg$fail(peg$c726); } } if (s0 !== peg$FAILED) { @@ -28548,17 +28617,17 @@ module.exports = (function() { }); peg$silentFails++; - if (peg$c716.test(input.charAt(peg$currPos))) { + if (peg$c729.test(input.charAt(peg$currPos))) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c717); } + if (peg$silentFails === 0) { peg$fail(peg$c730); } } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c715); } + if (peg$silentFails === 0) { peg$fail(peg$c728); } } if (s0 !== peg$FAILED) { @@ -28593,17 +28662,17 @@ module.exports = (function() { }); peg$silentFails++; - if (peg$c719.test(input.charAt(peg$currPos))) { + if (peg$c732.test(input.charAt(peg$currPos))) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c720); } + if (peg$silentFails === 0) { peg$fail(peg$c733); } } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c718); } + if (peg$silentFails === 0) { peg$fail(peg$c731); } } if (s0 !== peg$FAILED) { @@ -28637,12 +28706,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8) === peg$c721) { - s0 = peg$c721; + if (input.substr(peg$currPos, 8) === peg$c734) { + s0 = peg$c734; peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c722); } + if (peg$silentFails === 0) { peg$fail(peg$c735); } } if (s0 !== peg$FAILED) { diff --git a/dist/sqlite-parser.js b/dist/sqlite-parser.js index 7988b90..b9eb2d2 100644 --- a/dist/sqlite-parser.js +++ b/dist/sqlite-parser.js @@ -120,8 +120,13 @@ function textNode(elem) { return nodeToString(elem).trim(); } -function unescape(str) { - return str.replace(/\'{2}/g, '\''); +function unescape(str, quoteChar) { + var re; + if (quoteChar == null) { + quoteChar = '\''; + } + re = new RegExp(quoteChar + '{2}', 'g'); + return str.replace(re, quoteChar); } function extend() { @@ -191,10 +196,6 @@ function findWhere(arr, props) { return null; } -function keywordify(elem) { - return textNode(elem).toUpperCase(); -} - function key(elem) { return textNode(elem).toLowerCase(); } @@ -210,7 +211,6 @@ module.exports = { 'nodeToString': nodeToString, 'textNode': textNode, 'unescape': unescape, - 'keywordify': keywordify, 'key': key, // Type detection 'typed': typed, @@ -536,7 +536,7 @@ module.exports = (function() { * @note Unescaped the pairs of literal single quotation marks * @note Not sure if the BLOB type should be un-escaped */ - return util.unescape(util.textNode(s)); + return util.unescape(util.nodeToString(s), "'"); }, peg$c58 = "''", peg$c59 = { type: "literal", value: "''", description: "\"''\"" }, @@ -1105,47 +1105,49 @@ module.exports = (function() { peg$c262 = "clob", peg$c263 = { type: "literal", value: "CLOB", description: "\"CLOB\"" }, peg$c264 = { type: "other", description: "REAL Datatype Name" }, - peg$c265 = "double", - peg$c266 = { type: "literal", value: "DOUBLE", description: "\"DOUBLE\"" }, - peg$c267 = "precision", - peg$c268 = { type: "literal", value: "PRECISION", description: "\"PRECISION\"" }, - peg$c269 = "float", - peg$c270 = { type: "literal", value: "FLOAT", description: "\"FLOAT\"" }, - peg$c271 = "real", - peg$c272 = { type: "literal", value: "REAL", description: "\"REAL\"" }, - peg$c273 = { type: "other", description: "NUMERIC Datatype Name" }, - peg$c274 = "numeric", - peg$c275 = { type: "literal", value: "NUMERIC", description: "\"NUMERIC\"" }, - peg$c276 = "decimal", - peg$c277 = { type: "literal", value: "DECIMAL", description: "\"DECIMAL\"" }, - peg$c278 = "boolean", - peg$c279 = { type: "literal", value: "BOOLEAN", description: "\"BOOLEAN\"" }, - peg$c280 = "date", - peg$c281 = { type: "literal", value: "DATE", description: "\"DATE\"" }, - peg$c282 = "time", - peg$c283 = { type: "literal", value: "TIME", description: "\"TIME\"" }, - peg$c284 = "stamp", - peg$c285 = { type: "literal", value: "STAMP", description: "\"STAMP\"" }, - peg$c286 = { type: "other", description: "INTEGER Datatype Name" }, - peg$c287 = "int", - peg$c288 = { type: "literal", value: "INT", description: "\"INT\"" }, - peg$c289 = "2", - peg$c290 = { type: "literal", value: "2", description: "\"2\"" }, - peg$c291 = "4", - peg$c292 = { type: "literal", value: "4", description: "\"4\"" }, - peg$c293 = "8", - peg$c294 = { type: "literal", value: "8", description: "\"8\"" }, - peg$c295 = "eger", - peg$c296 = { type: "literal", value: "EGER", description: "\"EGER\"" }, - peg$c297 = "big", - peg$c298 = { type: "literal", value: "BIG", description: "\"BIG\"" }, - peg$c299 = "small", - peg$c300 = { type: "literal", value: "SMALL", description: "\"SMALL\"" }, - peg$c301 = { type: "other", description: "BLOB Datatype Name" }, - peg$c302 = "blob", - peg$c303 = { type: "literal", value: "BLOB", description: "\"BLOB\"" }, - peg$c304 = { type: "other", description: "UPDATE Statement" }, - peg$c305 = function(u, s, f, t, w, o, l) { + peg$c265 = "float", + peg$c266 = { type: "literal", value: "FLOAT", description: "\"FLOAT\"" }, + peg$c267 = "real", + peg$c268 = { type: "literal", value: "REAL", description: "\"REAL\"" }, + peg$c269 = "double", + peg$c270 = { type: "literal", value: "DOUBLE", description: "\"DOUBLE\"" }, + peg$c271 = function(d, p) { return util.compose([d, p]); }, + peg$c272 = "precision", + peg$c273 = { type: "literal", value: "PRECISION", description: "\"PRECISION\"" }, + peg$c274 = function(p) { return p; }, + peg$c275 = { type: "other", description: "NUMERIC Datatype Name" }, + peg$c276 = "numeric", + peg$c277 = { type: "literal", value: "NUMERIC", description: "\"NUMERIC\"" }, + peg$c278 = "decimal", + peg$c279 = { type: "literal", value: "DECIMAL", description: "\"DECIMAL\"" }, + peg$c280 = "boolean", + peg$c281 = { type: "literal", value: "BOOLEAN", description: "\"BOOLEAN\"" }, + peg$c282 = "date", + peg$c283 = { type: "literal", value: "DATE", description: "\"DATE\"" }, + peg$c284 = "time", + peg$c285 = { type: "literal", value: "TIME", description: "\"TIME\"" }, + peg$c286 = "stamp", + peg$c287 = { type: "literal", value: "STAMP", description: "\"STAMP\"" }, + peg$c288 = { type: "other", description: "INTEGER Datatype Name" }, + peg$c289 = "int", + peg$c290 = { type: "literal", value: "INT", description: "\"INT\"" }, + peg$c291 = "2", + peg$c292 = { type: "literal", value: "2", description: "\"2\"" }, + peg$c293 = "4", + peg$c294 = { type: "literal", value: "4", description: "\"4\"" }, + peg$c295 = "8", + peg$c296 = { type: "literal", value: "8", description: "\"8\"" }, + peg$c297 = "eger", + peg$c298 = { type: "literal", value: "EGER", description: "\"EGER\"" }, + peg$c299 = "big", + peg$c300 = { type: "literal", value: "BIG", description: "\"BIG\"" }, + peg$c301 = "small", + peg$c302 = { type: "literal", value: "SMALL", description: "\"SMALL\"" }, + peg$c303 = { type: "other", description: "BLOB Datatype Name" }, + peg$c304 = "blob", + peg$c305 = { type: "literal", value: "BLOB", description: "\"BLOB\"" }, + peg$c306 = { type: "other", description: "UPDATE Statement" }, + peg$c307 = function(u, s, f, t, w, o, l) { // TODO: Not final syntax! return util.extend({ 'type': 'statement', @@ -1157,28 +1159,28 @@ module.exports = (function() { 'limit': l }, u, f); }, - peg$c306 = { type: "other", description: "UPDATE" }, - peg$c307 = { type: "other", description: "Update Fallback" }, - peg$c308 = function(t) { + peg$c308 = { type: "other", description: "UPDATE" }, + peg$c309 = { type: "other", description: "Update Fallback" }, + peg$c310 = function(t) { return { 'or': util.key(t) }; }, - peg$c309 = { type: "other", description: "Update SET" }, - peg$c310 = function(c) { + peg$c311 = { type: "other", description: "Update SET" }, + peg$c312 = function(c) { return { 'set': c }; }, - peg$c311 = function(f, e) { + peg$c313 = function(f, e) { return { 'type': 'assignment', 'target': f, 'value': e }; }, - peg$c312 = { type: "other", description: "DELETE Statement" }, - peg$c313 = function(u, s, t, w, o, l) { + peg$c314 = { type: "other", description: "DELETE Statement" }, + peg$c315 = function(u, s, t, w, o, l) { // TODO: Not final syntax! return util.extend({ 'type': 'statement', @@ -1189,9 +1191,9 @@ module.exports = (function() { 'limit': l }, u); }, - peg$c314 = { type: "other", description: "CREATE Statement" }, - peg$c315 = { type: "other", description: "CREATE Table" }, - peg$c316 = function(s, tmp, t, ne, id, r) { + peg$c316 = { type: "other", description: "CREATE Statement" }, + peg$c317 = { type: "other", description: "CREATE Table" }, + peg$c318 = function(s, tmp, t, ne, id, r) { return util.extend({ 'type': 'statement', 'variant': util.key(s), @@ -1203,28 +1205,28 @@ module.exports = (function() { 'definition': [] }, r); }, - peg$c317 = function(i, n, e) { + peg$c319 = function(i, n, e) { return { 'type': 'condition', 'condition': util.key(util.compose([i, n, e])) }; }, - peg$c318 = { type: "other", description: "Table Definition" }, - peg$c319 = function(s, t, r) { + peg$c320 = { type: "other", description: "Table Definition" }, + peg$c321 = function(s, t, r) { return { 'definition': util.compose([s, t], []), 'optimization': util.makeArray(r) }; }, - peg$c320 = function(r, w) { + peg$c322 = function(r, w) { return { 'type': 'optimization', 'value': util.key(util.compose([r, w])) }; }, - peg$c321 = function(f) { return f; }, - peg$c322 = { type: "other", description: "Column Definition" }, - peg$c323 = function(n, t, c) { + peg$c323 = function(f) { return f; }, + peg$c324 = { type: "other", description: "Column Definition" }, + peg$c325 = function(n, t, c) { return util.extend({ 'type': 'definition', 'variant': 'column', @@ -1233,27 +1235,27 @@ module.exports = (function() { 'datatype': null }, t); }, - peg$c324 = { type: "other", description: "Column Datatype" }, - peg$c325 = function(t) { + peg$c326 = { type: "other", description: "Column Datatype" }, + peg$c327 = function(t) { return { 'datatype': t }; }, - peg$c326 = { type: "other", description: "Column Constraint" }, - peg$c327 = function(n, c) { + peg$c328 = { type: "other", description: "Column Constraint" }, + peg$c329 = function(n, c) { return util.extend({ 'name': n }, c); }, - peg$c328 = function(f) { + peg$c330 = function(f) { return util.extend({ 'variant': 'foreign key' }, f); }, - peg$c329 = function(p, d, c, a) { + peg$c331 = function(p, d, c, a) { return util.extend(p, c, d, a); }, - peg$c330 = function(s, k) { + peg$c332 = function(s, k) { return { 'type': 'constraint', 'variant': util.key(util.compose([s, k])), @@ -1263,41 +1265,41 @@ module.exports = (function() { 'autoIncrement': false }; }, - peg$c331 = function(d) { + peg$c333 = function(d) { return { 'direction': util.key(d) }; }, - peg$c332 = function(a) { + peg$c334 = function(a) { return { 'autoIncrement': true }; }, - peg$c333 = function(s, c) { + peg$c335 = function(s, c) { return util.extend({ 'type': 'constraint', 'variant': s, 'conflict': null }, c); }, - peg$c334 = function(n, l) { return util.compose([n, l]); }, - peg$c335 = function(s, v) { + peg$c336 = function(n, l) { return util.compose([n, l]); }, + peg$c337 = function(s, v) { return { 'type': 'constraint', 'variant': util.key(s), 'value': v }; }, - peg$c336 = function(v) { return v; }, - peg$c337 = function(c) { + peg$c338 = function(v) { return v; }, + peg$c339 = function(c) { return { 'type': 'constraint', 'variant': 'collate', 'collate': c }; }, - peg$c338 = { type: "other", description: "Table Constraint" }, - peg$c339 = function(n, c) { + peg$c340 = { type: "other", description: "Table Constraint" }, + peg$c341 = function(n, c) { return util.extend({ 'type': 'definition', 'variant': 'constraint', @@ -1305,28 +1307,28 @@ module.exports = (function() { 'definition': null }, c); }, - peg$c340 = function(c) { + peg$c342 = function(c) { return { 'definition': util.makeArray(c) }; }, - peg$c341 = function(k, c, t) { + peg$c343 = function(k, c, t) { return { 'definition': util.makeArray(util.extend(k, t)), 'columns': c }; }, - peg$c342 = function(s) { + peg$c344 = function(s) { return { 'type': 'constraint', 'variant': util.key(s), 'conflict': null }; }, - peg$c343 = function(p, k) { return util.compose([p, k]); }, - peg$c344 = function(u) { return util.textNode(u); }, - peg$c345 = { type: "other", description: "Indexed Column" }, - peg$c346 = function(e, c, d) { + peg$c345 = function(p, k) { return util.compose([p, k]); }, + peg$c346 = function(u) { return util.textNode(u); }, + peg$c347 = { type: "other", description: "Indexed Column" }, + peg$c348 = function(e, c, d) { // TODO: Not final format return { 'type': 'identifier', @@ -1337,25 +1339,25 @@ module.exports = (function() { 'collate': c }; }, - peg$c347 = function(o, c, t) { + peg$c349 = function(o, c, t) { return { 'conflict': util.key(t) }; }, - peg$c348 = function(k, c) { + peg$c350 = function(k, c) { return { 'type': 'constraint', 'variant': util.key(k), 'expression': c }; }, - peg$c349 = function(k, l, c) { + peg$c351 = function(k, l, c) { return util.extend({ 'definition': util.makeArray(util.extend(k, c)), 'columns': null }, l); }, - peg$c350 = function(f, k) { + peg$c352 = function(f, k) { return { 'type': 'constraint', 'variant': util.key(util.compose([f, k])), @@ -1365,47 +1367,47 @@ module.exports = (function() { 'defer': null }; }, - peg$c351 = function(r, a, d) { + peg$c353 = function(r, a, d) { return util.extend({ 'type': 'constraint', 'action': a, 'defer': d }, r); }, - peg$c352 = function(t, c) { + peg$c354 = function(t, c) { // TODO: FORMAT? return util.extend({ 'target': t, 'columns': null }, c); }, - peg$c353 = function(f, b) { return util.collect([f, b], []); }, - peg$c354 = function(m, a, n) { + peg$c355 = function(f, b) { return util.collect([f, b], []); }, + peg$c356 = function(m, a, n) { return { 'type': 'action', 'variant': util.key(m), 'action': n }; }, - peg$c355 = function(s, v) { return util.compose([s, v]); }, - peg$c356 = function(c) { return util.textNode(c); }, - peg$c357 = function(n, a) { return util.compose([n, a]); }, - peg$c358 = function(m, n) { + peg$c357 = function(s, v) { return util.compose([s, v]); }, + peg$c358 = function(c) { return util.textNode(c); }, + peg$c359 = function(n, a) { return util.compose([n, a]); }, + peg$c360 = function(m, n) { return { 'type': 'action', 'variant': util.key(m), 'action': n }; }, - peg$c359 = function(n, d, i) { return util.key(util.compose([n, d, i])); }, - peg$c360 = function(i, d) { return util.compose([i, d]); }, - peg$c361 = function(s) { + peg$c361 = function(n, d, i) { return util.key(util.compose([n, d, i])); }, + peg$c362 = function(i, d) { return util.compose([i, d]); }, + peg$c363 = function(s) { return { 'definition': util.makeArray(s) }; }, - peg$c362 = { type: "other", description: "CREATE Index" }, - peg$c363 = function(s, u, i, ne, n, o, w) { + peg$c364 = { type: "other", description: "CREATE Index" }, + peg$c365 = function(s, u, i, ne, n, o, w) { return util.extend({ 'type': 'statement', 'variant': util.key(s), @@ -1417,19 +1419,19 @@ module.exports = (function() { 'unique': false }, u); }, - peg$c364 = function(u) { + peg$c366 = function(u) { return { 'unique': true }; }, - peg$c365 = function(o, t, c) { + peg$c367 = function(o, t, c) { return { 'target': t, 'columns': c }; }, - peg$c366 = { type: "other", description: "CREATE Trigger" }, - peg$c367 = function(s, p, t, ne, n, cd, o, me, wh, a) { + peg$c368 = { type: "other", description: "CREATE Trigger" }, + peg$c369 = function(s, p, t, ne, n, cd, o, me, wh, a) { return { 'type': 'statement', 'variant': util.key(s), @@ -1444,38 +1446,38 @@ module.exports = (function() { 'action': util.makeArray(a) }; }, - peg$c368 = function(m, d) { + peg$c370 = function(m, d) { return util.extend({ 'type': 'event', 'occurs': null }, m, d); }, - peg$c369 = function(m) { + peg$c371 = function(m) { return { 'occurs': util.key(m) }; }, - peg$c370 = function(i, o) { return util.compose([i, o]); }, - peg$c371 = function(o) { + peg$c372 = function(i, o) { return util.compose([i, o]); }, + peg$c373 = function(o) { return { 'event': util.key(o) }; }, - peg$c372 = function(s, f) { + peg$c374 = function(s, f) { return { 'event': util.key(s), 'of': f }; }, - peg$c373 = function(s, c) { return c; }, - peg$c374 = "statement", - peg$c375 = { type: "literal", value: "STATEMENT", description: "\"STATEMENT\"" }, - peg$c376 = function(f, e, r) { return util.key(r); }, - peg$c377 = function(w, e) { return e; }, - peg$c378 = function(s, a, e) { return a; }, - peg$c379 = function(s, c) { return s; }, - peg$c380 = { type: "other", description: "CREATE View" }, - peg$c381 = function(s, p, v, ne, n, r) { + peg$c375 = function(s, c) { return c; }, + peg$c376 = "statement", + peg$c377 = { type: "literal", value: "STATEMENT", description: "\"STATEMENT\"" }, + peg$c378 = function(f, e, r) { return util.key(r); }, + peg$c379 = function(w, e) { return e; }, + peg$c380 = function(s, a, e) { return a; }, + peg$c381 = function(s, c) { return s; }, + peg$c382 = { type: "other", description: "CREATE View" }, + peg$c383 = function(s, p, v, ne, n, r) { return { 'type': 'statement', 'variant': util.key(s), @@ -1486,8 +1488,8 @@ module.exports = (function() { 'result': r }; }, - peg$c382 = { type: "other", description: "CREATE Virtual Table" }, - peg$c383 = function(s, v, t, ne, n, m, a) { + peg$c384 = { type: "other", description: "CREATE Virtual Table" }, + peg$c385 = function(s, v, t, ne, n, m, a) { return { 'type': 'statement', 'variant': util.key(s), @@ -1501,8 +1503,8 @@ module.exports = (function() { } }; }, - peg$c384 = { type: "other", description: "DROP Statement" }, - peg$c385 = function(s, t, i, q) { + peg$c386 = { type: "other", description: "DROP Statement" }, + peg$c387 = function(s, t, i, q) { return { 'type': 'statement', 'variant': s, @@ -1511,348 +1513,359 @@ module.exports = (function() { 'condition': (util.isOkay(i) ? [i] : []) }; }, - peg$c386 = function(i, e) { + peg$c388 = function(i, e) { return { 'type': 'condition', 'condition': util.key(util.compose([i, e])) }; }, - peg$c387 = /^[a-z0-9\-_]/i, - peg$c388 = { type: "class", value: "[a-z0-9\\-\\_]i", description: "[a-z0-9\\-\\_]i" }, - peg$c389 = /^[a-z0-9\-_ ]/i, - peg$c390 = { type: "class", value: "[a-z0-9\\-\\_ ]i", description: "[a-z0-9\\-\\_ ]i" }, - peg$c391 = "\"", - peg$c392 = { type: "literal", value: "\"", description: "\"\\\"\"" }, - peg$c393 = "`", - peg$c394 = { type: "literal", value: "`", description: "\"`\"" }, - peg$c395 = { type: "other", description: "Open Bracket" }, - peg$c396 = "[", - peg$c397 = { type: "literal", value: "[", description: "\"[\"" }, - peg$c398 = { type: "other", description: "Close Bracket" }, - peg$c399 = "]", - peg$c400 = { type: "literal", value: "]", description: "\"]\"" }, - peg$c401 = { type: "other", description: "Open Parenthesis" }, - peg$c402 = "(", - peg$c403 = { type: "literal", value: "(", description: "\"(\"" }, - peg$c404 = { type: "other", description: "Close Parenthesis" }, - peg$c405 = ")", - peg$c406 = { type: "literal", value: ")", description: "\")\"" }, - peg$c407 = { type: "other", description: "Comma" }, - peg$c408 = ",", - peg$c409 = { type: "literal", value: ",", description: "\",\"" }, - peg$c410 = { type: "other", description: "Period" }, - peg$c411 = ".", - peg$c412 = { type: "literal", value: ".", description: "\".\"" }, - peg$c413 = { type: "other", description: "Asterisk" }, - peg$c414 = "*", - peg$c415 = { type: "literal", value: "*", description: "\"*\"" }, - peg$c416 = { type: "other", description: "Question Mark" }, - peg$c417 = "?", - peg$c418 = { type: "literal", value: "?", description: "\"?\"" }, - peg$c419 = { type: "other", description: "Single Quote" }, - peg$c420 = "'", - peg$c421 = { type: "literal", value: "'", description: "\"'\"" }, - peg$c422 = { type: "other", description: "Double Quote" }, - peg$c423 = { type: "other", description: "Backtick" }, - peg$c424 = { type: "other", description: "Tilde" }, - peg$c425 = "~", - peg$c426 = { type: "literal", value: "~", description: "\"~\"" }, - peg$c427 = { type: "other", description: "Plus" }, - peg$c428 = "+", - peg$c429 = { type: "literal", value: "+", description: "\"+\"" }, - peg$c430 = { type: "other", description: "Minus" }, - peg$c431 = "-", - peg$c432 = { type: "literal", value: "-", description: "\"-\"" }, - peg$c433 = "=", - peg$c434 = { type: "literal", value: "=", description: "\"=\"" }, - peg$c435 = { type: "other", description: "Ampersand" }, - peg$c436 = "&", - peg$c437 = { type: "literal", value: "&", description: "\"&\"" }, - peg$c438 = { type: "other", description: "Pipe" }, - peg$c439 = "|", - peg$c440 = { type: "literal", value: "|", description: "\"|\"" }, - peg$c441 = "%", - peg$c442 = { type: "literal", value: "%", description: "\"%\"" }, - peg$c443 = "<", - peg$c444 = { type: "literal", value: "<", description: "\"<\"" }, - peg$c445 = ">", - peg$c446 = { type: "literal", value: ">", description: "\">\"" }, - peg$c447 = { type: "other", description: "Exclamation" }, - peg$c448 = "!", - peg$c449 = { type: "literal", value: "!", description: "\"!\"" }, - peg$c450 = { type: "other", description: "Semicolon" }, - peg$c451 = ";", - peg$c452 = { type: "literal", value: ";", description: "\";\"" }, - peg$c453 = { type: "other", description: "Colon" }, - peg$c454 = { type: "other", description: "Forward Slash" }, - peg$c455 = "/", - peg$c456 = { type: "literal", value: "/", description: "\"/\"" }, - peg$c457 = { type: "other", description: "Backslash" }, - peg$c458 = "\\", - peg$c459 = { type: "literal", value: "\\", description: "\"\\\\\"" }, - peg$c460 = "abort", - peg$c461 = { type: "literal", value: "ABORT", description: "\"ABORT\"" }, - peg$c462 = "action", - peg$c463 = { type: "literal", value: "ACTION", description: "\"ACTION\"" }, - peg$c464 = "add", - peg$c465 = { type: "literal", value: "ADD", description: "\"ADD\"" }, - peg$c466 = "after", - peg$c467 = { type: "literal", value: "AFTER", description: "\"AFTER\"" }, - peg$c468 = "all", - peg$c469 = { type: "literal", value: "ALL", description: "\"ALL\"" }, - peg$c470 = "alter", - peg$c471 = { type: "literal", value: "ALTER", description: "\"ALTER\"" }, - peg$c472 = "analyze", - peg$c473 = { type: "literal", value: "ANALYZE", description: "\"ANALYZE\"" }, - peg$c474 = "and", - peg$c475 = { type: "literal", value: "AND", description: "\"AND\"" }, - peg$c476 = "as", - peg$c477 = { type: "literal", value: "AS", description: "\"AS\"" }, - peg$c478 = "asc", - peg$c479 = { type: "literal", value: "ASC", description: "\"ASC\"" }, - peg$c480 = "attach", - peg$c481 = { type: "literal", value: "ATTACH", description: "\"ATTACH\"" }, - peg$c482 = "autoincrement", - peg$c483 = { type: "literal", value: "AUTOINCREMENT", description: "\"AUTOINCREMENT\"" }, - peg$c484 = "before", - peg$c485 = { type: "literal", value: "BEFORE", description: "\"BEFORE\"" }, - peg$c486 = "begin", - peg$c487 = { type: "literal", value: "BEGIN", description: "\"BEGIN\"" }, - peg$c488 = "between", - peg$c489 = { type: "literal", value: "BETWEEN", description: "\"BETWEEN\"" }, - peg$c490 = "by", - peg$c491 = { type: "literal", value: "BY", description: "\"BY\"" }, - peg$c492 = "cascade", - peg$c493 = { type: "literal", value: "CASCADE", description: "\"CASCADE\"" }, - peg$c494 = "case", - peg$c495 = { type: "literal", value: "CASE", description: "\"CASE\"" }, - peg$c496 = "cast", - peg$c497 = { type: "literal", value: "CAST", description: "\"CAST\"" }, - peg$c498 = "check", - peg$c499 = { type: "literal", value: "CHECK", description: "\"CHECK\"" }, - peg$c500 = "collate", - peg$c501 = { type: "literal", value: "COLLATE", description: "\"COLLATE\"" }, - peg$c502 = "column", - peg$c503 = { type: "literal", value: "COLUMN", description: "\"COLUMN\"" }, - peg$c504 = "commit", - peg$c505 = { type: "literal", value: "COMMIT", description: "\"COMMIT\"" }, - peg$c506 = "conflict", - peg$c507 = { type: "literal", value: "CONFLICT", description: "\"CONFLICT\"" }, - peg$c508 = "constraint", - peg$c509 = { type: "literal", value: "CONSTRAINT", description: "\"CONSTRAINT\"" }, - peg$c510 = "create", - peg$c511 = { type: "literal", value: "CREATE", description: "\"CREATE\"" }, - peg$c512 = "cross", - peg$c513 = { type: "literal", value: "CROSS", description: "\"CROSS\"" }, - peg$c514 = "current_date", - peg$c515 = { type: "literal", value: "CURRENT_DATE", description: "\"CURRENT_DATE\"" }, - peg$c516 = "current_time", - peg$c517 = { type: "literal", value: "CURRENT_TIME", description: "\"CURRENT_TIME\"" }, - peg$c518 = "current_timestamp", - peg$c519 = { type: "literal", value: "CURRENT_TIMESTAMP", description: "\"CURRENT_TIMESTAMP\"" }, - peg$c520 = "database", - peg$c521 = { type: "literal", value: "DATABASE", description: "\"DATABASE\"" }, - peg$c522 = "default", - peg$c523 = { type: "literal", value: "DEFAULT", description: "\"DEFAULT\"" }, - peg$c524 = "deferrable", - peg$c525 = { type: "literal", value: "DEFERRABLE", description: "\"DEFERRABLE\"" }, - peg$c526 = "deferred", - peg$c527 = { type: "literal", value: "DEFERRED", description: "\"DEFERRED\"" }, - peg$c528 = "delete", - peg$c529 = { type: "literal", value: "DELETE", description: "\"DELETE\"" }, - peg$c530 = "desc", - peg$c531 = { type: "literal", value: "DESC", description: "\"DESC\"" }, - peg$c532 = "detach", - peg$c533 = { type: "literal", value: "DETACH", description: "\"DETACH\"" }, - peg$c534 = "distinct", - peg$c535 = { type: "literal", value: "DISTINCT", description: "\"DISTINCT\"" }, - peg$c536 = "drop", - peg$c537 = { type: "literal", value: "DROP", description: "\"DROP\"" }, - peg$c538 = "each", - peg$c539 = { type: "literal", value: "EACH", description: "\"EACH\"" }, - peg$c540 = "else", - peg$c541 = { type: "literal", value: "ELSE", description: "\"ELSE\"" }, - peg$c542 = "end", - peg$c543 = { type: "literal", value: "END", description: "\"END\"" }, - peg$c544 = "escape", - peg$c545 = { type: "literal", value: "ESCAPE", description: "\"ESCAPE\"" }, - peg$c546 = "except", - peg$c547 = { type: "literal", value: "EXCEPT", description: "\"EXCEPT\"" }, - peg$c548 = "exclusive", - peg$c549 = { type: "literal", value: "EXCLUSIVE", description: "\"EXCLUSIVE\"" }, - peg$c550 = "exists", - peg$c551 = { type: "literal", value: "EXISTS", description: "\"EXISTS\"" }, - peg$c552 = "explain", - peg$c553 = { type: "literal", value: "EXPLAIN", description: "\"EXPLAIN\"" }, - peg$c554 = "fail", - peg$c555 = { type: "literal", value: "FAIL", description: "\"FAIL\"" }, - peg$c556 = "for", - peg$c557 = { type: "literal", value: "FOR", description: "\"FOR\"" }, - peg$c558 = "foreign", - peg$c559 = { type: "literal", value: "FOREIGN", description: "\"FOREIGN\"" }, - peg$c560 = "from", - peg$c561 = { type: "literal", value: "FROM", description: "\"FROM\"" }, - peg$c562 = "full", - peg$c563 = { type: "literal", value: "FULL", description: "\"FULL\"" }, - peg$c564 = "glob", - peg$c565 = { type: "literal", value: "GLOB", description: "\"GLOB\"" }, - peg$c566 = "group", - peg$c567 = { type: "literal", value: "GROUP", description: "\"GROUP\"" }, - peg$c568 = "having", - peg$c569 = { type: "literal", value: "HAVING", description: "\"HAVING\"" }, - peg$c570 = "if", - peg$c571 = { type: "literal", value: "IF", description: "\"IF\"" }, - peg$c572 = "ignore", - peg$c573 = { type: "literal", value: "IGNORE", description: "\"IGNORE\"" }, - peg$c574 = "immediate", - peg$c575 = { type: "literal", value: "IMMEDIATE", description: "\"IMMEDIATE\"" }, - peg$c576 = "in", - peg$c577 = { type: "literal", value: "IN", description: "\"IN\"" }, - peg$c578 = "index", - peg$c579 = { type: "literal", value: "INDEX", description: "\"INDEX\"" }, - peg$c580 = "indexed", - peg$c581 = { type: "literal", value: "INDEXED", description: "\"INDEXED\"" }, - peg$c582 = "initially", - peg$c583 = { type: "literal", value: "INITIALLY", description: "\"INITIALLY\"" }, - peg$c584 = "inner", - peg$c585 = { type: "literal", value: "INNER", description: "\"INNER\"" }, - peg$c586 = "insert", - peg$c587 = { type: "literal", value: "INSERT", description: "\"INSERT\"" }, - peg$c588 = "instead", - peg$c589 = { type: "literal", value: "INSTEAD", description: "\"INSTEAD\"" }, - peg$c590 = "intersect", - peg$c591 = { type: "literal", value: "INTERSECT", description: "\"INTERSECT\"" }, - peg$c592 = "into", - peg$c593 = { type: "literal", value: "INTO", description: "\"INTO\"" }, - peg$c594 = "is", - peg$c595 = { type: "literal", value: "IS", description: "\"IS\"" }, - peg$c596 = "isnull", - peg$c597 = { type: "literal", value: "ISNULL", description: "\"ISNULL\"" }, - peg$c598 = "join", - peg$c599 = { type: "literal", value: "JOIN", description: "\"JOIN\"" }, - peg$c600 = "key", - peg$c601 = { type: "literal", value: "KEY", description: "\"KEY\"" }, - peg$c602 = "left", - peg$c603 = { type: "literal", value: "LEFT", description: "\"LEFT\"" }, - peg$c604 = "like", - peg$c605 = { type: "literal", value: "LIKE", description: "\"LIKE\"" }, - peg$c606 = "limit", - peg$c607 = { type: "literal", value: "LIMIT", description: "\"LIMIT\"" }, - peg$c608 = "match", - peg$c609 = { type: "literal", value: "MATCH", description: "\"MATCH\"" }, - peg$c610 = "natural", - peg$c611 = { type: "literal", value: "NATURAL", description: "\"NATURAL\"" }, - peg$c612 = "no", - peg$c613 = { type: "literal", value: "NO", description: "\"NO\"" }, - peg$c614 = "not", - peg$c615 = { type: "literal", value: "NOT", description: "\"NOT\"" }, - peg$c616 = "notnull", - peg$c617 = { type: "literal", value: "NOTNULL", description: "\"NOTNULL\"" }, - peg$c618 = "null", - peg$c619 = { type: "literal", value: "NULL", description: "\"NULL\"" }, - peg$c620 = "of", - peg$c621 = { type: "literal", value: "OF", description: "\"OF\"" }, - peg$c622 = "offset", - peg$c623 = { type: "literal", value: "OFFSET", description: "\"OFFSET\"" }, - peg$c624 = "on", - peg$c625 = { type: "literal", value: "ON", description: "\"ON\"" }, - peg$c626 = "or", - peg$c627 = { type: "literal", value: "OR", description: "\"OR\"" }, - peg$c628 = "order", - peg$c629 = { type: "literal", value: "ORDER", description: "\"ORDER\"" }, - peg$c630 = "outer", - peg$c631 = { type: "literal", value: "OUTER", description: "\"OUTER\"" }, - peg$c632 = "plan", - peg$c633 = { type: "literal", value: "PLAN", description: "\"PLAN\"" }, - peg$c634 = "pragma", - peg$c635 = { type: "literal", value: "PRAGMA", description: "\"PRAGMA\"" }, - peg$c636 = "primary", - peg$c637 = { type: "literal", value: "PRIMARY", description: "\"PRIMARY\"" }, - peg$c638 = "query", - peg$c639 = { type: "literal", value: "QUERY", description: "\"QUERY\"" }, - peg$c640 = "raise", - peg$c641 = { type: "literal", value: "RAISE", description: "\"RAISE\"" }, - peg$c642 = "recursive", - peg$c643 = { type: "literal", value: "RECURSIVE", description: "\"RECURSIVE\"" }, - peg$c644 = "references", - peg$c645 = { type: "literal", value: "REFERENCES", description: "\"REFERENCES\"" }, - peg$c646 = "regexp", - peg$c647 = { type: "literal", value: "REGEXP", description: "\"REGEXP\"" }, - peg$c648 = "reindex", - peg$c649 = { type: "literal", value: "REINDEX", description: "\"REINDEX\"" }, - peg$c650 = "release", - peg$c651 = { type: "literal", value: "RELEASE", description: "\"RELEASE\"" }, - peg$c652 = "rename", - peg$c653 = { type: "literal", value: "RENAME", description: "\"RENAME\"" }, - peg$c654 = "replace", - peg$c655 = { type: "literal", value: "REPLACE", description: "\"REPLACE\"" }, - peg$c656 = "restrict", - peg$c657 = { type: "literal", value: "RESTRICT", description: "\"RESTRICT\"" }, - peg$c658 = "right", - peg$c659 = { type: "literal", value: "RIGHT", description: "\"RIGHT\"" }, - peg$c660 = "rollback", - peg$c661 = { type: "literal", value: "ROLLBACK", description: "\"ROLLBACK\"" }, - peg$c662 = "row", - peg$c663 = { type: "literal", value: "ROW", description: "\"ROW\"" }, - peg$c664 = "rowid", - peg$c665 = { type: "literal", value: "ROWID", description: "\"ROWID\"" }, - peg$c666 = "savepoint", - peg$c667 = { type: "literal", value: "SAVEPOINT", description: "\"SAVEPOINT\"" }, - peg$c668 = "select", - peg$c669 = { type: "literal", value: "SELECT", description: "\"SELECT\"" }, - peg$c670 = "set", - peg$c671 = { type: "literal", value: "SET", description: "\"SET\"" }, - peg$c672 = "table", - peg$c673 = { type: "literal", value: "TABLE", description: "\"TABLE\"" }, - peg$c674 = "temp", - peg$c675 = { type: "literal", value: "TEMP", description: "\"TEMP\"" }, - peg$c676 = "temporary", - peg$c677 = { type: "literal", value: "TEMPORARY", description: "\"TEMPORARY\"" }, - peg$c678 = "then", - peg$c679 = { type: "literal", value: "THEN", description: "\"THEN\"" }, - peg$c680 = "to", - peg$c681 = { type: "literal", value: "TO", description: "\"TO\"" }, - peg$c682 = "transaction", - peg$c683 = { type: "literal", value: "TRANSACTION", description: "\"TRANSACTION\"" }, - peg$c684 = "trigger", - peg$c685 = { type: "literal", value: "TRIGGER", description: "\"TRIGGER\"" }, - peg$c686 = "union", - peg$c687 = { type: "literal", value: "UNION", description: "\"UNION\"" }, - peg$c688 = "unique", - peg$c689 = { type: "literal", value: "UNIQUE", description: "\"UNIQUE\"" }, - peg$c690 = "update", - peg$c691 = { type: "literal", value: "UPDATE", description: "\"UPDATE\"" }, - peg$c692 = "using", - peg$c693 = { type: "literal", value: "USING", description: "\"USING\"" }, - peg$c694 = "vacuum", - peg$c695 = { type: "literal", value: "VACUUM", description: "\"VACUUM\"" }, - peg$c696 = "values", - peg$c697 = { type: "literal", value: "VALUES", description: "\"VALUES\"" }, - peg$c698 = "view", - peg$c699 = { type: "literal", value: "VIEW", description: "\"VIEW\"" }, - peg$c700 = "virtual", - peg$c701 = { type: "literal", value: "VIRTUAL", description: "\"VIRTUAL\"" }, - peg$c702 = "when", - peg$c703 = { type: "literal", value: "WHEN", description: "\"WHEN\"" }, - peg$c704 = "where", - peg$c705 = { type: "literal", value: "WHERE", description: "\"WHERE\"" }, - peg$c706 = "with", - peg$c707 = { type: "literal", value: "WITH", description: "\"WITH\"" }, - peg$c708 = "without", - peg$c709 = { type: "literal", value: "WITHOUT", description: "\"WITHOUT\"" }, - peg$c710 = function(r) { return util.key(r); }, - peg$c711 = { type: "other", description: "SQL Line Comment" }, - peg$c712 = { type: "other", description: "SQL Block Comment" }, - peg$c713 = { type: "other", description: "Anything" }, - peg$c714 = { type: "any", description: "any character" }, - peg$c715 = { type: "other", description: "Whitespace" }, - peg$c716 = /^[ \t]/, - peg$c717 = { type: "class", value: "[ \\t]", description: "[ \\t]" }, - peg$c718 = { type: "other", description: "New Line" }, - peg$c719 = /^[\n\x0B\f\r]/, - peg$c720 = { type: "class", value: "[\\n\\v\\f\\r]", description: "[\\n\\v\\f\\r]" }, - peg$c721 = "__TODO__", - peg$c722 = { type: "literal", value: "__TODO__", description: "\"__TODO__\"" }, + peg$c389 = /^[a-z0-9\-_]/i, + peg$c390 = { type: "class", value: "[a-z0-9\\-\\_]i", description: "[a-z0-9\\-\\_]i" }, + peg$c391 = function(r) { return util.textNode(r); }, + peg$c392 = "]", + peg$c393 = { type: "literal", value: "]", description: "\"]\"" }, + peg$c394 = /^[^\]]/, + peg$c395 = { type: "class", value: "[^\\]]", description: "[^\\]]" }, + peg$c396 = "\"", + peg$c397 = { type: "literal", value: "\"", description: "\"\\\"\"" }, + peg$c398 = function(n) { return util.unescape(util.nodeToString(n), '"'); }, + peg$c399 = "\"\"", + peg$c400 = { type: "literal", value: "\"\"", description: "\"\\\"\\\"\"" }, + peg$c401 = /^[^"]/, + peg$c402 = { type: "class", value: "[^\\\"]", description: "[^\\\"]" }, + peg$c403 = "`", + peg$c404 = { type: "literal", value: "`", description: "\"`\"" }, + peg$c405 = function(n) { return util.unescape(util.nodeToString(n), '`'); }, + peg$c406 = "``", + peg$c407 = { type: "literal", value: "``", description: "\"``\"" }, + peg$c408 = /^[^`]/, + peg$c409 = { type: "class", value: "[^\\`]", description: "[^\\`]" }, + peg$c410 = { type: "other", description: "Open Bracket" }, + peg$c411 = "[", + peg$c412 = { type: "literal", value: "[", description: "\"[\"" }, + peg$c413 = { type: "other", description: "Close Bracket" }, + peg$c414 = { type: "other", description: "Open Parenthesis" }, + peg$c415 = "(", + peg$c416 = { type: "literal", value: "(", description: "\"(\"" }, + peg$c417 = { type: "other", description: "Close Parenthesis" }, + peg$c418 = ")", + peg$c419 = { type: "literal", value: ")", description: "\")\"" }, + peg$c420 = { type: "other", description: "Comma" }, + peg$c421 = ",", + peg$c422 = { type: "literal", value: ",", description: "\",\"" }, + peg$c423 = { type: "other", description: "Period" }, + peg$c424 = ".", + peg$c425 = { type: "literal", value: ".", description: "\".\"" }, + peg$c426 = { type: "other", description: "Asterisk" }, + peg$c427 = "*", + peg$c428 = { type: "literal", value: "*", description: "\"*\"" }, + peg$c429 = { type: "other", description: "Question Mark" }, + peg$c430 = "?", + peg$c431 = { type: "literal", value: "?", description: "\"?\"" }, + peg$c432 = { type: "other", description: "Single Quote" }, + peg$c433 = "'", + peg$c434 = { type: "literal", value: "'", description: "\"'\"" }, + peg$c435 = { type: "other", description: "Double Quote" }, + peg$c436 = { type: "other", description: "Backtick" }, + peg$c437 = { type: "other", description: "Tilde" }, + peg$c438 = "~", + peg$c439 = { type: "literal", value: "~", description: "\"~\"" }, + peg$c440 = { type: "other", description: "Plus" }, + peg$c441 = "+", + peg$c442 = { type: "literal", value: "+", description: "\"+\"" }, + peg$c443 = { type: "other", description: "Minus" }, + peg$c444 = "-", + peg$c445 = { type: "literal", value: "-", description: "\"-\"" }, + peg$c446 = "=", + peg$c447 = { type: "literal", value: "=", description: "\"=\"" }, + peg$c448 = { type: "other", description: "Ampersand" }, + peg$c449 = "&", + peg$c450 = { type: "literal", value: "&", description: "\"&\"" }, + peg$c451 = { type: "other", description: "Pipe" }, + peg$c452 = "|", + peg$c453 = { type: "literal", value: "|", description: "\"|\"" }, + peg$c454 = "%", + peg$c455 = { type: "literal", value: "%", description: "\"%\"" }, + peg$c456 = "<", + peg$c457 = { type: "literal", value: "<", description: "\"<\"" }, + peg$c458 = ">", + peg$c459 = { type: "literal", value: ">", description: "\">\"" }, + peg$c460 = { type: "other", description: "Exclamation" }, + peg$c461 = "!", + peg$c462 = { type: "literal", value: "!", description: "\"!\"" }, + peg$c463 = { type: "other", description: "Semicolon" }, + peg$c464 = ";", + peg$c465 = { type: "literal", value: ";", description: "\";\"" }, + peg$c466 = { type: "other", description: "Colon" }, + peg$c467 = { type: "other", description: "Forward Slash" }, + peg$c468 = "/", + peg$c469 = { type: "literal", value: "/", description: "\"/\"" }, + peg$c470 = { type: "other", description: "Backslash" }, + peg$c471 = "\\", + peg$c472 = { type: "literal", value: "\\", description: "\"\\\\\"" }, + peg$c473 = "abort", + peg$c474 = { type: "literal", value: "ABORT", description: "\"ABORT\"" }, + peg$c475 = "action", + peg$c476 = { type: "literal", value: "ACTION", description: "\"ACTION\"" }, + peg$c477 = "add", + peg$c478 = { type: "literal", value: "ADD", description: "\"ADD\"" }, + peg$c479 = "after", + peg$c480 = { type: "literal", value: "AFTER", description: "\"AFTER\"" }, + peg$c481 = "all", + peg$c482 = { type: "literal", value: "ALL", description: "\"ALL\"" }, + peg$c483 = "alter", + peg$c484 = { type: "literal", value: "ALTER", description: "\"ALTER\"" }, + peg$c485 = "analyze", + peg$c486 = { type: "literal", value: "ANALYZE", description: "\"ANALYZE\"" }, + peg$c487 = "and", + peg$c488 = { type: "literal", value: "AND", description: "\"AND\"" }, + peg$c489 = "as", + peg$c490 = { type: "literal", value: "AS", description: "\"AS\"" }, + peg$c491 = "asc", + peg$c492 = { type: "literal", value: "ASC", description: "\"ASC\"" }, + peg$c493 = "attach", + peg$c494 = { type: "literal", value: "ATTACH", description: "\"ATTACH\"" }, + peg$c495 = "autoincrement", + peg$c496 = { type: "literal", value: "AUTOINCREMENT", description: "\"AUTOINCREMENT\"" }, + peg$c497 = "before", + peg$c498 = { type: "literal", value: "BEFORE", description: "\"BEFORE\"" }, + peg$c499 = "begin", + peg$c500 = { type: "literal", value: "BEGIN", description: "\"BEGIN\"" }, + peg$c501 = "between", + peg$c502 = { type: "literal", value: "BETWEEN", description: "\"BETWEEN\"" }, + peg$c503 = "by", + peg$c504 = { type: "literal", value: "BY", description: "\"BY\"" }, + peg$c505 = "cascade", + peg$c506 = { type: "literal", value: "CASCADE", description: "\"CASCADE\"" }, + peg$c507 = "case", + peg$c508 = { type: "literal", value: "CASE", description: "\"CASE\"" }, + peg$c509 = "cast", + peg$c510 = { type: "literal", value: "CAST", description: "\"CAST\"" }, + peg$c511 = "check", + peg$c512 = { type: "literal", value: "CHECK", description: "\"CHECK\"" }, + peg$c513 = "collate", + peg$c514 = { type: "literal", value: "COLLATE", description: "\"COLLATE\"" }, + peg$c515 = "column", + peg$c516 = { type: "literal", value: "COLUMN", description: "\"COLUMN\"" }, + peg$c517 = "commit", + peg$c518 = { type: "literal", value: "COMMIT", description: "\"COMMIT\"" }, + peg$c519 = "conflict", + peg$c520 = { type: "literal", value: "CONFLICT", description: "\"CONFLICT\"" }, + peg$c521 = "constraint", + peg$c522 = { type: "literal", value: "CONSTRAINT", description: "\"CONSTRAINT\"" }, + peg$c523 = "create", + peg$c524 = { type: "literal", value: "CREATE", description: "\"CREATE\"" }, + peg$c525 = "cross", + peg$c526 = { type: "literal", value: "CROSS", description: "\"CROSS\"" }, + peg$c527 = "current_date", + peg$c528 = { type: "literal", value: "CURRENT_DATE", description: "\"CURRENT_DATE\"" }, + peg$c529 = "current_time", + peg$c530 = { type: "literal", value: "CURRENT_TIME", description: "\"CURRENT_TIME\"" }, + peg$c531 = "current_timestamp", + peg$c532 = { type: "literal", value: "CURRENT_TIMESTAMP", description: "\"CURRENT_TIMESTAMP\"" }, + peg$c533 = "database", + peg$c534 = { type: "literal", value: "DATABASE", description: "\"DATABASE\"" }, + peg$c535 = "default", + peg$c536 = { type: "literal", value: "DEFAULT", description: "\"DEFAULT\"" }, + peg$c537 = "deferrable", + peg$c538 = { type: "literal", value: "DEFERRABLE", description: "\"DEFERRABLE\"" }, + peg$c539 = "deferred", + peg$c540 = { type: "literal", value: "DEFERRED", description: "\"DEFERRED\"" }, + peg$c541 = "delete", + peg$c542 = { type: "literal", value: "DELETE", description: "\"DELETE\"" }, + peg$c543 = "desc", + peg$c544 = { type: "literal", value: "DESC", description: "\"DESC\"" }, + peg$c545 = "detach", + peg$c546 = { type: "literal", value: "DETACH", description: "\"DETACH\"" }, + peg$c547 = "distinct", + peg$c548 = { type: "literal", value: "DISTINCT", description: "\"DISTINCT\"" }, + peg$c549 = "drop", + peg$c550 = { type: "literal", value: "DROP", description: "\"DROP\"" }, + peg$c551 = "each", + peg$c552 = { type: "literal", value: "EACH", description: "\"EACH\"" }, + peg$c553 = "else", + peg$c554 = { type: "literal", value: "ELSE", description: "\"ELSE\"" }, + peg$c555 = "end", + peg$c556 = { type: "literal", value: "END", description: "\"END\"" }, + peg$c557 = "escape", + peg$c558 = { type: "literal", value: "ESCAPE", description: "\"ESCAPE\"" }, + peg$c559 = "except", + peg$c560 = { type: "literal", value: "EXCEPT", description: "\"EXCEPT\"" }, + peg$c561 = "exclusive", + peg$c562 = { type: "literal", value: "EXCLUSIVE", description: "\"EXCLUSIVE\"" }, + peg$c563 = "exists", + peg$c564 = { type: "literal", value: "EXISTS", description: "\"EXISTS\"" }, + peg$c565 = "explain", + peg$c566 = { type: "literal", value: "EXPLAIN", description: "\"EXPLAIN\"" }, + peg$c567 = "fail", + peg$c568 = { type: "literal", value: "FAIL", description: "\"FAIL\"" }, + peg$c569 = "for", + peg$c570 = { type: "literal", value: "FOR", description: "\"FOR\"" }, + peg$c571 = "foreign", + peg$c572 = { type: "literal", value: "FOREIGN", description: "\"FOREIGN\"" }, + peg$c573 = "from", + peg$c574 = { type: "literal", value: "FROM", description: "\"FROM\"" }, + peg$c575 = "full", + peg$c576 = { type: "literal", value: "FULL", description: "\"FULL\"" }, + peg$c577 = "glob", + peg$c578 = { type: "literal", value: "GLOB", description: "\"GLOB\"" }, + peg$c579 = "group", + peg$c580 = { type: "literal", value: "GROUP", description: "\"GROUP\"" }, + peg$c581 = "having", + peg$c582 = { type: "literal", value: "HAVING", description: "\"HAVING\"" }, + peg$c583 = "if", + peg$c584 = { type: "literal", value: "IF", description: "\"IF\"" }, + peg$c585 = "ignore", + peg$c586 = { type: "literal", value: "IGNORE", description: "\"IGNORE\"" }, + peg$c587 = "immediate", + peg$c588 = { type: "literal", value: "IMMEDIATE", description: "\"IMMEDIATE\"" }, + peg$c589 = "in", + peg$c590 = { type: "literal", value: "IN", description: "\"IN\"" }, + peg$c591 = "index", + peg$c592 = { type: "literal", value: "INDEX", description: "\"INDEX\"" }, + peg$c593 = "indexed", + peg$c594 = { type: "literal", value: "INDEXED", description: "\"INDEXED\"" }, + peg$c595 = "initially", + peg$c596 = { type: "literal", value: "INITIALLY", description: "\"INITIALLY\"" }, + peg$c597 = "inner", + peg$c598 = { type: "literal", value: "INNER", description: "\"INNER\"" }, + peg$c599 = "insert", + peg$c600 = { type: "literal", value: "INSERT", description: "\"INSERT\"" }, + peg$c601 = "instead", + peg$c602 = { type: "literal", value: "INSTEAD", description: "\"INSTEAD\"" }, + peg$c603 = "intersect", + peg$c604 = { type: "literal", value: "INTERSECT", description: "\"INTERSECT\"" }, + peg$c605 = "into", + peg$c606 = { type: "literal", value: "INTO", description: "\"INTO\"" }, + peg$c607 = "is", + peg$c608 = { type: "literal", value: "IS", description: "\"IS\"" }, + peg$c609 = "isnull", + peg$c610 = { type: "literal", value: "ISNULL", description: "\"ISNULL\"" }, + peg$c611 = "join", + peg$c612 = { type: "literal", value: "JOIN", description: "\"JOIN\"" }, + peg$c613 = "key", + peg$c614 = { type: "literal", value: "KEY", description: "\"KEY\"" }, + peg$c615 = "left", + peg$c616 = { type: "literal", value: "LEFT", description: "\"LEFT\"" }, + peg$c617 = "like", + peg$c618 = { type: "literal", value: "LIKE", description: "\"LIKE\"" }, + peg$c619 = "limit", + peg$c620 = { type: "literal", value: "LIMIT", description: "\"LIMIT\"" }, + peg$c621 = "match", + peg$c622 = { type: "literal", value: "MATCH", description: "\"MATCH\"" }, + peg$c623 = "natural", + peg$c624 = { type: "literal", value: "NATURAL", description: "\"NATURAL\"" }, + peg$c625 = "no", + peg$c626 = { type: "literal", value: "NO", description: "\"NO\"" }, + peg$c627 = "not", + peg$c628 = { type: "literal", value: "NOT", description: "\"NOT\"" }, + peg$c629 = "notnull", + peg$c630 = { type: "literal", value: "NOTNULL", description: "\"NOTNULL\"" }, + peg$c631 = "null", + peg$c632 = { type: "literal", value: "NULL", description: "\"NULL\"" }, + peg$c633 = "of", + peg$c634 = { type: "literal", value: "OF", description: "\"OF\"" }, + peg$c635 = "offset", + peg$c636 = { type: "literal", value: "OFFSET", description: "\"OFFSET\"" }, + peg$c637 = "on", + peg$c638 = { type: "literal", value: "ON", description: "\"ON\"" }, + peg$c639 = "or", + peg$c640 = { type: "literal", value: "OR", description: "\"OR\"" }, + peg$c641 = "order", + peg$c642 = { type: "literal", value: "ORDER", description: "\"ORDER\"" }, + peg$c643 = "outer", + peg$c644 = { type: "literal", value: "OUTER", description: "\"OUTER\"" }, + peg$c645 = "plan", + peg$c646 = { type: "literal", value: "PLAN", description: "\"PLAN\"" }, + peg$c647 = "pragma", + peg$c648 = { type: "literal", value: "PRAGMA", description: "\"PRAGMA\"" }, + peg$c649 = "primary", + peg$c650 = { type: "literal", value: "PRIMARY", description: "\"PRIMARY\"" }, + peg$c651 = "query", + peg$c652 = { type: "literal", value: "QUERY", description: "\"QUERY\"" }, + peg$c653 = "raise", + peg$c654 = { type: "literal", value: "RAISE", description: "\"RAISE\"" }, + peg$c655 = "recursive", + peg$c656 = { type: "literal", value: "RECURSIVE", description: "\"RECURSIVE\"" }, + peg$c657 = "references", + peg$c658 = { type: "literal", value: "REFERENCES", description: "\"REFERENCES\"" }, + peg$c659 = "regexp", + peg$c660 = { type: "literal", value: "REGEXP", description: "\"REGEXP\"" }, + peg$c661 = "reindex", + peg$c662 = { type: "literal", value: "REINDEX", description: "\"REINDEX\"" }, + peg$c663 = "release", + peg$c664 = { type: "literal", value: "RELEASE", description: "\"RELEASE\"" }, + peg$c665 = "rename", + peg$c666 = { type: "literal", value: "RENAME", description: "\"RENAME\"" }, + peg$c667 = "replace", + peg$c668 = { type: "literal", value: "REPLACE", description: "\"REPLACE\"" }, + peg$c669 = "restrict", + peg$c670 = { type: "literal", value: "RESTRICT", description: "\"RESTRICT\"" }, + peg$c671 = "right", + peg$c672 = { type: "literal", value: "RIGHT", description: "\"RIGHT\"" }, + peg$c673 = "rollback", + peg$c674 = { type: "literal", value: "ROLLBACK", description: "\"ROLLBACK\"" }, + peg$c675 = "row", + peg$c676 = { type: "literal", value: "ROW", description: "\"ROW\"" }, + peg$c677 = "rowid", + peg$c678 = { type: "literal", value: "ROWID", description: "\"ROWID\"" }, + peg$c679 = "savepoint", + peg$c680 = { type: "literal", value: "SAVEPOINT", description: "\"SAVEPOINT\"" }, + peg$c681 = "select", + peg$c682 = { type: "literal", value: "SELECT", description: "\"SELECT\"" }, + peg$c683 = "set", + peg$c684 = { type: "literal", value: "SET", description: "\"SET\"" }, + peg$c685 = "table", + peg$c686 = { type: "literal", value: "TABLE", description: "\"TABLE\"" }, + peg$c687 = "temp", + peg$c688 = { type: "literal", value: "TEMP", description: "\"TEMP\"" }, + peg$c689 = "temporary", + peg$c690 = { type: "literal", value: "TEMPORARY", description: "\"TEMPORARY\"" }, + peg$c691 = "then", + peg$c692 = { type: "literal", value: "THEN", description: "\"THEN\"" }, + peg$c693 = "to", + peg$c694 = { type: "literal", value: "TO", description: "\"TO\"" }, + peg$c695 = "transaction", + peg$c696 = { type: "literal", value: "TRANSACTION", description: "\"TRANSACTION\"" }, + peg$c697 = "trigger", + peg$c698 = { type: "literal", value: "TRIGGER", description: "\"TRIGGER\"" }, + peg$c699 = "union", + peg$c700 = { type: "literal", value: "UNION", description: "\"UNION\"" }, + peg$c701 = "unique", + peg$c702 = { type: "literal", value: "UNIQUE", description: "\"UNIQUE\"" }, + peg$c703 = "update", + peg$c704 = { type: "literal", value: "UPDATE", description: "\"UPDATE\"" }, + peg$c705 = "using", + peg$c706 = { type: "literal", value: "USING", description: "\"USING\"" }, + peg$c707 = "vacuum", + peg$c708 = { type: "literal", value: "VACUUM", description: "\"VACUUM\"" }, + peg$c709 = "values", + peg$c710 = { type: "literal", value: "VALUES", description: "\"VALUES\"" }, + peg$c711 = "view", + peg$c712 = { type: "literal", value: "VIEW", description: "\"VIEW\"" }, + peg$c713 = "virtual", + peg$c714 = { type: "literal", value: "VIRTUAL", description: "\"VIRTUAL\"" }, + peg$c715 = "when", + peg$c716 = { type: "literal", value: "WHEN", description: "\"WHEN\"" }, + peg$c717 = "where", + peg$c718 = { type: "literal", value: "WHERE", description: "\"WHERE\"" }, + peg$c719 = "with", + peg$c720 = { type: "literal", value: "WITH", description: "\"WITH\"" }, + peg$c721 = "without", + peg$c722 = { type: "literal", value: "WITHOUT", description: "\"WITHOUT\"" }, + peg$c723 = function(r) { return util.key(r); }, + peg$c724 = { type: "other", description: "SQL Line Comment" }, + peg$c725 = { type: "other", description: "SQL Block Comment" }, + peg$c726 = { type: "other", description: "Anything" }, + peg$c727 = { type: "any", description: "any character" }, + peg$c728 = { type: "other", description: "Whitespace" }, + peg$c729 = /^[ \t]/, + peg$c730 = { type: "class", value: "[ \\t]", description: "[ \\t]" }, + peg$c731 = { type: "other", description: "New Line" }, + peg$c732 = /^[\n\x0B\f\r]/, + peg$c733 = { type: "class", value: "[\\n\\v\\f\\r]", description: "[\\n\\v\\f\\r]" }, + peg$c734 = "__TODO__", + peg$c735 = { type: "literal", value: "__TODO__", description: "\"__TODO__\"" }, peg$currPos = 0, peg$savedPos = 0, @@ -2060,6 +2073,8 @@ module.exports = (function() { "datatype_types": "Datatype Name", "datatype_text": "TEXT Datatype Name", "datatype_real": "REAL Datatype Name", +"datatype_real_double": "", +"real_double_precision": "", "datatype_numeric": "NUMERIC Datatype Name", "datatype_integer": "INTEGER Datatype Name", "datatype_none": "BLOB Datatype Name", @@ -2158,13 +2173,15 @@ module.exports = (function() { "drop_types": "", "drop_ie": "", "name_char": "", -"name_char_quoted": "", "name": "", "reserved_nodes": "", "name_unquoted": "", "name_bracketed": "", +"name_bracketed_schar": "", "name_dblquoted": "", +"name_dblquoted_schar": "", "name_backticked": "", +"name_backticked_schar": "", "sym_bopen": "Open Bracket", "sym_bclose": "Close Bracket", "sym_popen": "Open Parenthesis", @@ -3898,7 +3915,7 @@ module.exports = (function() { if (s3 !== peg$FAILED) { s4 = peg$parsee(); if (s4 !== peg$FAILED) { - s5 = peg$parsename(); + s5 = peg$parsename_unquoted(); if (s5 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c31(s1, s3, s5); @@ -6497,7 +6514,7 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; - s1 = peg$parsename(); + s1 = peg$parsename_unquoted(); if (s1 !== peg$FAILED) { s2 = peg$parsesym_popen(); if (s2 !== peg$FAILED) { @@ -13590,7 +13607,7 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; - s1 = peg$parsename(); + s1 = peg$parsename_unquoted(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c232(s1); @@ -14068,7 +14085,7 @@ module.exports = (function() { } function peg$parsedatatype_real() { - var s0, s1, s2, s3, s4, s5, + var s0, s1, startPos = peg$currPos; peg$tracer.trace({ @@ -14080,65 +14097,22 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; - s1 = peg$currPos; - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c265) { - s2 = input.substr(peg$currPos, 6); - peg$currPos += 6; - } else { - s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c266); } - } - if (s2 !== peg$FAILED) { - s3 = peg$currPos; - s4 = peg$parsee(); - if (s4 !== peg$FAILED) { - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c267) { - s5 = input.substr(peg$currPos, 9); - peg$currPos += 9; - } else { - s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c268); } - } - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - if (s3 === peg$FAILED) { - s3 = null; - } - if (s3 !== peg$FAILED) { - s2 = [s2, s3]; - s1 = s2; - } else { - peg$currPos = s1; - s1 = peg$FAILED; - } - } else { - peg$currPos = s1; - s1 = peg$FAILED; - } + s1 = peg$parsedatatype_real_double(); if (s1 === peg$FAILED) { - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c269) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c265) { s1 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c270); } + if (peg$silentFails === 0) { peg$fail(peg$c266); } } if (s1 === peg$FAILED) { - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c271) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c267) { s1 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c272); } + if (peg$silentFails === 0) { peg$fail(peg$c268); } } } } @@ -14173,6 +14147,117 @@ module.exports = (function() { return s0; } + function peg$parsedatatype_real_double() { + var s0, s1, s2, + startPos = peg$currPos; + + peg$tracer.trace({ + type: "rule.enter", + rule: "datatype_real_double", + description: peg$descNames["datatype_real_double"], + location: peg$computeLocation(startPos, startPos) + }); + + s0 = peg$currPos; + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c269) { + s1 = input.substr(peg$currPos, 6); + peg$currPos += 6; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c270); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parsereal_double_precision(); + if (s2 === peg$FAILED) { + s2 = null; + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c271(s1, s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + if (s0 !== peg$FAILED) { + peg$tracer.trace({ + type: "rule.match", + rule: "datatype_real_double", + result: s0, + description: peg$descNames["datatype_real_double"], + location: peg$computeLocation(startPos, peg$currPos) + }); + } else { + peg$tracer.trace({ + type: "rule.fail", + rule: "datatype_real_double", + description: peg$descNames["datatype_real_double"], + location: peg$computeLocation(startPos, startPos) + }); + } + + return s0; + } + + function peg$parsereal_double_precision() { + var s0, s1, s2, + startPos = peg$currPos; + + peg$tracer.trace({ + type: "rule.enter", + rule: "real_double_precision", + description: peg$descNames["real_double_precision"], + location: peg$computeLocation(startPos, startPos) + }); + + s0 = peg$currPos; + s1 = peg$parsee(); + if (s1 !== peg$FAILED) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c272) { + s2 = input.substr(peg$currPos, 9); + peg$currPos += 9; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c273); } + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c274(s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + if (s0 !== peg$FAILED) { + peg$tracer.trace({ + type: "rule.match", + rule: "real_double_precision", + result: s0, + description: peg$descNames["real_double_precision"], + location: peg$computeLocation(startPos, peg$currPos) + }); + } else { + peg$tracer.trace({ + type: "rule.fail", + rule: "real_double_precision", + description: peg$descNames["real_double_precision"], + location: peg$computeLocation(startPos, startPos) + }); + } + + return s0; + } + function peg$parsedatatype_numeric() { var s0, s1, s2, s3, startPos = peg$currPos; @@ -14186,45 +14271,45 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c274) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c276) { s1 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c275); } + if (peg$silentFails === 0) { peg$fail(peg$c277); } } if (s1 === peg$FAILED) { - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c276) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c278) { s1 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c277); } + if (peg$silentFails === 0) { peg$fail(peg$c279); } } if (s1 === peg$FAILED) { - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c278) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c280) { s1 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c279); } + if (peg$silentFails === 0) { peg$fail(peg$c281); } } if (s1 === peg$FAILED) { s1 = peg$currPos; - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c280) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c282) { s2 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c281); } + if (peg$silentFails === 0) { peg$fail(peg$c283); } } if (s2 !== peg$FAILED) { - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c282) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c284) { s3 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c283); } + if (peg$silentFails === 0) { peg$fail(peg$c285); } } if (s3 === peg$FAILED) { s3 = null; @@ -14242,20 +14327,20 @@ module.exports = (function() { } if (s1 === peg$FAILED) { s1 = peg$currPos; - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c282) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c284) { s2 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c283); } + if (peg$silentFails === 0) { peg$fail(peg$c285); } } if (s2 !== peg$FAILED) { - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c284) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c286) { s3 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c285); } + if (peg$silentFails === 0) { peg$fail(peg$c287); } } if (s3 === peg$FAILED) { s3 = null; @@ -14283,7 +14368,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c273); } + if (peg$silentFails === 0) { peg$fail(peg$c275); } } if (s0 !== peg$FAILED) { @@ -14320,44 +14405,44 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; s1 = peg$currPos; - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c287) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c289) { s2 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c288); } + if (peg$silentFails === 0) { peg$fail(peg$c290); } } if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 50) { - s3 = peg$c289; + s3 = peg$c291; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c290); } + if (peg$silentFails === 0) { peg$fail(peg$c292); } } if (s3 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 52) { - s3 = peg$c291; + s3 = peg$c293; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c292); } + if (peg$silentFails === 0) { peg$fail(peg$c294); } } if (s3 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 56) { - s3 = peg$c293; + s3 = peg$c295; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c294); } + if (peg$silentFails === 0) { peg$fail(peg$c296); } } if (s3 === peg$FAILED) { - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c295) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c297) { s3 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c296); } + if (peg$silentFails === 0) { peg$fail(peg$c298); } } } } @@ -14375,12 +14460,12 @@ module.exports = (function() { } if (s1 === peg$FAILED) { s1 = peg$currPos; - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c297) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c299) { s2 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c298); } + if (peg$silentFails === 0) { peg$fail(peg$c300); } } if (s2 === peg$FAILED) { if (input.substr(peg$currPos, 6).toLowerCase() === peg$c256) { @@ -14391,12 +14476,12 @@ module.exports = (function() { if (peg$silentFails === 0) { peg$fail(peg$c257); } } if (s2 === peg$FAILED) { - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c299) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c301) { s2 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c300); } + if (peg$silentFails === 0) { peg$fail(peg$c302); } } if (s2 === peg$FAILED) { if (input.substr(peg$currPos, 4).toLowerCase() === peg$c254) { @@ -14413,12 +14498,12 @@ module.exports = (function() { s2 = null; } if (s2 !== peg$FAILED) { - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c287) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c289) { s3 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c288); } + if (peg$silentFails === 0) { peg$fail(peg$c290); } } if (s3 !== peg$FAILED) { s2 = [s2, s3]; @@ -14440,7 +14525,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c286); } + if (peg$silentFails === 0) { peg$fail(peg$c288); } } if (s0 !== peg$FAILED) { @@ -14476,12 +14561,12 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c302) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c304) { s1 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c303); } + if (peg$silentFails === 0) { peg$fail(peg$c305); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; @@ -14491,7 +14576,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c301); } + if (peg$silentFails === 0) { peg$fail(peg$c303); } } if (s0 !== peg$FAILED) { @@ -14565,7 +14650,7 @@ module.exports = (function() { } if (s11 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c305(s7, s3, s4, s5, s8, s9, s11); + s1 = peg$c307(s7, s3, s4, s5, s8, s9, s11); s0 = s1; } else { peg$currPos = s0; @@ -14614,7 +14699,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c304); } + if (peg$silentFails === 0) { peg$fail(peg$c306); } } if (s0 !== peg$FAILED) { @@ -14668,7 +14753,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c306); } + if (peg$silentFails === 0) { peg$fail(peg$c308); } } if (s0 !== peg$FAILED) { @@ -14713,7 +14798,7 @@ module.exports = (function() { s4 = peg$parsee(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c308(s3); + s1 = peg$c310(s3); s0 = s1; } else { peg$currPos = s0; @@ -14734,7 +14819,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c307); } + if (peg$silentFails === 0) { peg$fail(peg$c309); } } if (s0 !== peg$FAILED) { @@ -14779,7 +14864,7 @@ module.exports = (function() { s4 = peg$parseo(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c310(s3); + s1 = peg$c312(s3); s0 = s1; } else { peg$currPos = s0; @@ -14800,7 +14885,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c309); } + if (peg$silentFails === 0) { peg$fail(peg$c311); } } if (s0 !== peg$FAILED) { @@ -14953,7 +15038,7 @@ module.exports = (function() { s5 = peg$parseo(); if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c311(s1, s4); + s1 = peg$c313(s1, s4); s0 = s1; } else { peg$currPos = s0; @@ -15038,7 +15123,7 @@ module.exports = (function() { } if (s8 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c313(s1, s3, s4, s6, s7, s8); + s1 = peg$c315(s1, s3, s4, s6, s7, s8); s0 = s1; } else { peg$currPos = s0; @@ -15075,7 +15160,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c312); } + if (peg$silentFails === 0) { peg$fail(peg$c314); } } if (s0 !== peg$FAILED) { @@ -15186,7 +15271,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c314); } + if (peg$silentFails === 0) { peg$fail(peg$c316); } } if (s0 !== peg$FAILED) { @@ -15247,7 +15332,7 @@ module.exports = (function() { s9 = peg$parsecreate_table_source(); if (s9 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c316(s1, s3, s4, s6, s7, s9); + s1 = peg$c318(s1, s3, s4, s6, s7, s9); s0 = s1; } else { peg$currPos = s0; @@ -15288,7 +15373,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c315); } + if (peg$silentFails === 0) { peg$fail(peg$c317); } } if (s0 !== peg$FAILED) { @@ -15385,7 +15470,7 @@ module.exports = (function() { s5 = peg$parsee(); if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c317(s1, s3, s4); + s1 = peg$c319(s1, s3, s4); s0 = s1; } else { peg$currPos = s0; @@ -15496,7 +15581,7 @@ module.exports = (function() { } if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c319(s2, s3, s5); + s1 = peg$c321(s2, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -15521,7 +15606,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c318); } + if (peg$silentFails === 0) { peg$fail(peg$c320); } } if (s0 !== peg$FAILED) { @@ -15565,7 +15650,7 @@ module.exports = (function() { s4 = peg$parseo(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c320(s1, s3); + s1 = peg$c322(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -15734,7 +15819,7 @@ module.exports = (function() { s2 = peg$parsetable_constraint(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c321(s2); + s1 = peg$c323(s2); s0 = s1; } else { peg$currPos = s0; @@ -15818,7 +15903,7 @@ module.exports = (function() { } if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c323(s1, s3, s5); + s1 = peg$c325(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -15843,7 +15928,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c322); } + if (peg$silentFails === 0) { peg$fail(peg$c324); } } if (s0 !== peg$FAILED) { @@ -15882,13 +15967,13 @@ module.exports = (function() { s1 = peg$parsetype_definition(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c325(s1); + s1 = peg$c327(s1); } s0 = s1; peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c324); } + if (peg$silentFails === 0) { peg$fail(peg$c326); } } if (s0 !== peg$FAILED) { @@ -16039,7 +16124,7 @@ module.exports = (function() { s2 = peg$parsecolumn_constraint_types(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c327(s1, s2); + s1 = peg$c329(s1, s2); s0 = s1; } else { peg$currPos = s0; @@ -16052,7 +16137,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c326); } + if (peg$silentFails === 0) { peg$fail(peg$c328); } } if (s0 !== peg$FAILED) { @@ -16198,7 +16283,7 @@ module.exports = (function() { s1 = peg$parseforeign_clause(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c328(s1); + s1 = peg$c330(s1); } s0 = s1; @@ -16252,7 +16337,7 @@ module.exports = (function() { } if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c329(s1, s2, s3, s4); + s1 = peg$c331(s1, s2, s3, s4); s0 = s1; } else { peg$currPos = s0; @@ -16312,7 +16397,7 @@ module.exports = (function() { s4 = peg$parseo(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c330(s1, s3); + s1 = peg$c332(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -16368,7 +16453,7 @@ module.exports = (function() { s2 = peg$parseo(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c331(s1); + s1 = peg$c333(s1); s0 = s1; } else { peg$currPos = s0; @@ -16416,7 +16501,7 @@ module.exports = (function() { s2 = peg$parseo(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c332(s1); + s1 = peg$c334(s1); s0 = s1; } else { peg$currPos = s0; @@ -16469,7 +16554,7 @@ module.exports = (function() { s3 = peg$parseo(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c333(s1, s2); + s1 = peg$c335(s1, s2); s0 = s1; } else { peg$currPos = s0; @@ -16566,7 +16651,7 @@ module.exports = (function() { s2 = peg$parseNULL(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c334(s1, s2); + s1 = peg$c336(s1, s2); s0 = s1; } else { peg$currPos = s0; @@ -16614,7 +16699,7 @@ module.exports = (function() { s2 = peg$parsecol_default_val(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c335(s1, s2); + s1 = peg$c337(s1, s2); s0 = s1; } else { peg$currPos = s0; @@ -16662,7 +16747,7 @@ module.exports = (function() { s2 = peg$parseexpression_wrapped(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c336(s2); + s1 = peg$c338(s2); s0 = s1; } else { peg$currPos = s0; @@ -16679,7 +16764,7 @@ module.exports = (function() { s2 = peg$parseliteral_number_signed(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c336(s2); + s1 = peg$c338(s2); s0 = s1; } else { peg$currPos = s0; @@ -16696,7 +16781,7 @@ module.exports = (function() { s2 = peg$parseliteral_value(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c336(s2); + s1 = peg$c338(s2); s0 = s1; } else { peg$currPos = s0; @@ -16744,7 +16829,7 @@ module.exports = (function() { s1 = peg$parsecolumn_collate(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c337(s1); + s1 = peg$c339(s1); } s0 = s1; @@ -16793,7 +16878,7 @@ module.exports = (function() { s4 = peg$parseo(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c339(s1, s3); + s1 = peg$c341(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -16814,7 +16899,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c338); } + if (peg$silentFails === 0) { peg$fail(peg$c340); } } if (s0 !== peg$FAILED) { @@ -16945,7 +17030,7 @@ module.exports = (function() { s1 = peg$parseconstraint_check(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c340(s1); + s1 = peg$c342(s1); } s0 = s1; @@ -16993,7 +17078,7 @@ module.exports = (function() { } if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c341(s1, s3, s4); + s1 = peg$c343(s1, s3, s4); s0 = s1; } else { peg$currPos = s0; @@ -17052,7 +17137,7 @@ module.exports = (function() { s2 = peg$parseo(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c342(s1); + s1 = peg$c344(s1); s0 = s1; } else { peg$currPos = s0; @@ -17102,7 +17187,7 @@ module.exports = (function() { s3 = peg$parseKEY(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c343(s1, s3); + s1 = peg$c345(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -17152,7 +17237,7 @@ module.exports = (function() { s1 = peg$parseUNIQUE(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c344(s1); + s1 = peg$c346(s1); } s0 = s1; @@ -17275,7 +17360,7 @@ module.exports = (function() { } if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c346(s1, s3, s4); + s1 = peg$c348(s1, s3, s4); s0 = s1; } else { peg$currPos = s0; @@ -17296,7 +17381,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c345); } + if (peg$silentFails === 0) { peg$fail(peg$c347); } } if (s0 !== peg$FAILED) { @@ -17509,7 +17594,7 @@ module.exports = (function() { s6 = peg$parseo(); if (s6 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c347(s1, s3, s5); + s1 = peg$c349(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -17575,7 +17660,7 @@ module.exports = (function() { s3 = peg$parseexpression_wrapped(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c348(s1, s3); + s1 = peg$c350(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -17635,7 +17720,7 @@ module.exports = (function() { s6 = peg$parseo(); if (s6 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c349(s1, s3, s5); + s1 = peg$c351(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -17701,7 +17786,7 @@ module.exports = (function() { s3 = peg$parseKEY(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c350(s1, s3); + s1 = peg$c352(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -17761,7 +17846,7 @@ module.exports = (function() { } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c351(s1, s2, s3); + s1 = peg$c353(s1, s2, s3); s0 = s1; } else { peg$currPos = s0; @@ -17822,7 +17907,7 @@ module.exports = (function() { } if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c352(s3, s5); + s1 = peg$c354(s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -17891,7 +17976,7 @@ module.exports = (function() { s4 = peg$parseo(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c353(s1, s3); + s1 = peg$c355(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -18040,7 +18125,7 @@ module.exports = (function() { s5 = peg$parseaction_on_action(); if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c354(s1, s3, s5); + s1 = peg$c356(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -18144,7 +18229,7 @@ module.exports = (function() { } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c355(s1, s3); + s1 = peg$c357(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -18197,7 +18282,7 @@ module.exports = (function() { } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c356(s1); + s1 = peg$c358(s1); } s0 = s1; @@ -18240,7 +18325,7 @@ module.exports = (function() { s3 = peg$parseACTION(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c357(s1, s3); + s1 = peg$c359(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -18294,7 +18379,7 @@ module.exports = (function() { s3 = peg$parsename(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c358(s1, s3); + s1 = peg$c360(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -18354,7 +18439,7 @@ module.exports = (function() { } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c359(s1, s2, s3); + s1 = peg$c361(s1, s2, s3); s0 = s1; } else { peg$currPos = s0; @@ -18413,7 +18498,7 @@ module.exports = (function() { } if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c360(s2, s4); + s1 = peg$c362(s2, s4); s0 = s1; } else { peg$currPos = s0; @@ -18467,7 +18552,7 @@ module.exports = (function() { s1 = peg$parsecreate_as_select(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c361(s1); + s1 = peg$c363(s1); } s0 = s1; @@ -18534,7 +18619,7 @@ module.exports = (function() { } if (s10 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c363(s1, s3, s4, s6, s7, s9, s10); + s1 = peg$c365(s1, s3, s4, s6, s7, s9, s10); s0 = s1; } else { peg$currPos = s0; @@ -18579,7 +18664,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c362); } + if (peg$silentFails === 0) { peg$fail(peg$c364); } } if (s0 !== peg$FAILED) { @@ -18619,7 +18704,7 @@ module.exports = (function() { s2 = peg$parsee(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c364(s1); + s1 = peg$c366(s1); s0 = s1; } else { peg$currPos = s0; @@ -18673,7 +18758,7 @@ module.exports = (function() { s5 = peg$parseprimary_columns(); if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c365(s1, s3, s5); + s1 = peg$c367(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -18774,7 +18859,7 @@ module.exports = (function() { s16 = peg$parsetrigger_action(); if (s16 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c367(s1, s3, s4, s6, s7, s9, s12, s14, s15, s16); + s1 = peg$c369(s1, s3, s4, s6, s7, s9, s12, s14, s15, s16); s0 = s1; } else { peg$currPos = s0; @@ -18843,7 +18928,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c366); } + if (peg$silentFails === 0) { peg$fail(peg$c368); } } if (s0 !== peg$FAILED) { @@ -18886,7 +18971,7 @@ module.exports = (function() { s2 = peg$parsetrigger_do(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c368(s1, s2); + s1 = peg$c370(s1, s2); s0 = s1; } else { peg$currPos = s0; @@ -18940,7 +19025,7 @@ module.exports = (function() { s2 = peg$parsee(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c369(s1); + s1 = peg$c371(s1); s0 = s1; } else { peg$currPos = s0; @@ -18990,7 +19075,7 @@ module.exports = (function() { s3 = peg$parseOF(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c370(s1, s3); + s1 = peg$c372(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -19081,7 +19166,7 @@ module.exports = (function() { s2 = peg$parsee(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c371(s1); + s1 = peg$c373(s1); s0 = s1; } else { peg$currPos = s0; @@ -19134,7 +19219,7 @@ module.exports = (function() { } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c372(s1, s3); + s1 = peg$c374(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -19188,7 +19273,7 @@ module.exports = (function() { s3 = peg$parsedo_update_columns(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c373(s1, s3); + s1 = peg$c375(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -19304,19 +19389,19 @@ module.exports = (function() { if (s4 !== peg$FAILED) { s5 = peg$parseROW(); if (s5 === peg$FAILED) { - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c374) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c376) { s5 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c375); } + if (peg$silentFails === 0) { peg$fail(peg$c377); } } } if (s5 !== peg$FAILED) { s6 = peg$parsee(); if (s6 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c376(s1, s3, s5); + s1 = peg$c378(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -19384,7 +19469,7 @@ module.exports = (function() { s4 = peg$parseo(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c377(s1, s3); + s1 = peg$c379(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -19448,7 +19533,7 @@ module.exports = (function() { s6 = peg$parseo(); if (s6 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c378(s1, s3, s5); + s1 = peg$c380(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -19562,7 +19647,7 @@ module.exports = (function() { s3 = peg$parsesym_semi(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c379(s1, s3); + s1 = peg$c381(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -19635,7 +19720,7 @@ module.exports = (function() { s9 = peg$parsecreate_as_select(); if (s9 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c381(s1, s3, s4, s6, s7, s9); + s1 = peg$c383(s1, s3, s4, s6, s7, s9); s0 = s1; } else { peg$currPos = s0; @@ -19676,7 +19761,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c380); } + if (peg$silentFails === 0) { peg$fail(peg$c382); } } if (s0 !== peg$FAILED) { @@ -19797,7 +19882,7 @@ module.exports = (function() { if (s10 !== peg$FAILED) { s11 = peg$parsee(); if (s11 !== peg$FAILED) { - s12 = peg$parsename(); + s12 = peg$parsename_unquoted(); if (s12 !== peg$FAILED) { s13 = peg$parseo(); if (s13 !== peg$FAILED) { @@ -19807,7 +19892,7 @@ module.exports = (function() { } if (s14 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c383(s1, s3, s5, s7, s8, s12, s14); + s1 = peg$c385(s1, s3, s5, s7, s8, s12, s14); s0 = s1; } else { peg$currPos = s0; @@ -19868,7 +19953,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c382); } + if (peg$silentFails === 0) { peg$fail(peg$c384); } } if (s0 !== peg$FAILED) { @@ -19912,7 +19997,7 @@ module.exports = (function() { s4 = peg$parsesym_pclose(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c321(s2); + s1 = peg$c323(s2); s0 = s1; } else { peg$currPos = s0; @@ -20067,7 +20152,7 @@ module.exports = (function() { s5 = peg$parseo(); if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c385(s1, s2, s3, s4); + s1 = peg$c387(s1, s2, s3, s4); s0 = s1; } else { peg$currPos = s0; @@ -20092,7 +20177,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c384); } + if (peg$silentFails === 0) { peg$fail(peg$c386); } } if (s0 !== peg$FAILED) { @@ -20241,7 +20326,7 @@ module.exports = (function() { s4 = peg$parsee(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c386(s1, s3); + s1 = peg$c388(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -20291,12 +20376,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (peg$c387.test(input.charAt(peg$currPos))) { + if (peg$c389.test(input.charAt(peg$currPos))) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c388); } + if (peg$silentFails === 0) { peg$fail(peg$c390); } } if (s0 !== peg$FAILED) { @@ -20319,45 +20404,6 @@ module.exports = (function() { return s0; } - function peg$parsename_char_quoted() { - var s0, - startPos = peg$currPos; - - peg$tracer.trace({ - type: "rule.enter", - rule: "name_char_quoted", - description: peg$descNames["name_char_quoted"], - location: peg$computeLocation(startPos, startPos) - }); - - if (peg$c389.test(input.charAt(peg$currPos))) { - s0 = input.charAt(peg$currPos); - peg$currPos++; - } else { - s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c390); } - } - - if (s0 !== peg$FAILED) { - peg$tracer.trace({ - type: "rule.match", - rule: "name_char_quoted", - result: s0, - description: peg$descNames["name_char_quoted"], - location: peg$computeLocation(startPos, peg$currPos) - }); - } else { - peg$tracer.trace({ - type: "rule.fail", - rule: "name_char_quoted", - description: peg$descNames["name_char_quoted"], - location: peg$computeLocation(startPos, startPos) - }); - } - - return s0; - } - function peg$parsename() { var s0, startPos = peg$currPos; @@ -20428,7 +20474,8 @@ module.exports = (function() { s2 = peg$FAILED; } if (s2 !== peg$FAILED) { - s1 = [s1, s2]; + peg$savedPos = s0; + s1 = peg$c391(s1); s0 = s1; } else { peg$currPos = s0; @@ -20526,7 +20573,7 @@ module.exports = (function() { } function peg$parsename_bracketed() { - var s0, s1, s2, s3, s4, s5, + var s0, s1, s2, s3, s4, startPos = peg$currPos; peg$tracer.trace({ @@ -20540,57 +20587,11 @@ module.exports = (function() { s1 = peg$parsesym_bopen(); if (s1 !== peg$FAILED) { s2 = []; - s3 = peg$currPos; - s4 = peg$currPos; - peg$silentFails++; - s5 = peg$parsesym_bclose(); - peg$silentFails--; - if (s5 === peg$FAILED) { - s4 = void 0; - } else { - peg$currPos = s4; - s4 = peg$FAILED; - } - if (s4 !== peg$FAILED) { - s5 = peg$parsename_char_quoted(); - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } + s3 = peg$parsename_bracketed_schar(); if (s3 !== peg$FAILED) { while (s3 !== peg$FAILED) { s2.push(s3); - s3 = peg$currPos; - s4 = peg$currPos; - peg$silentFails++; - s5 = peg$parsesym_bclose(); - peg$silentFails--; - if (s5 === peg$FAILED) { - s4 = void 0; - } else { - peg$currPos = s4; - s4 = peg$FAILED; - } - if (s4 !== peg$FAILED) { - s5 = peg$parsename_char_quoted(); - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } + s3 = peg$parsename_bracketed_schar(); } } else { s2 = peg$FAILED; @@ -20640,105 +20641,135 @@ module.exports = (function() { return s0; } - function peg$parsename_dblquoted() { - var s0, s1, s2, s3, s4, s5, + function peg$parsename_bracketed_schar() { + var s0, s1, s2, s3, s4, startPos = peg$currPos; peg$tracer.trace({ type: "rule.enter", - rule: "name_dblquoted", - description: peg$descNames["name_dblquoted"], + rule: "name_bracketed_schar", + description: peg$descNames["name_bracketed_schar"], location: peg$computeLocation(startPos, startPos) }); s0 = peg$currPos; - if (input.charCodeAt(peg$currPos) === 34) { - s1 = peg$c391; - peg$currPos++; - } else { - s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c392); } + s1 = peg$currPos; + peg$silentFails++; + s2 = peg$currPos; + s3 = []; + s4 = peg$parsewhitespace_space(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parsewhitespace_space(); } - if (s1 !== peg$FAILED) { - s2 = []; - s3 = peg$currPos; - s4 = peg$currPos; - peg$silentFails++; - if (input.charCodeAt(peg$currPos) === 34) { - s5 = peg$c391; + if (s3 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 93) { + s4 = peg$c392; peg$currPos++; } else { - s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c392); } - } - peg$silentFails--; - if (s5 === peg$FAILED) { - s4 = void 0; - } else { - peg$currPos = s4; s4 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c393); } } if (s4 !== peg$FAILED) { - s5 = peg$parsename_char_quoted(); - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } + s3 = [s3, s4]; + s2 = s3; } else { - peg$currPos = s3; - s3 = peg$FAILED; + peg$currPos = s2; + s2 = peg$FAILED; } + } else { + peg$currPos = s2; + s2 = peg$FAILED; + } + peg$silentFails--; + if (s2 === peg$FAILED) { + s1 = void 0; + } else { + peg$currPos = s1; + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + if (peg$c394.test(input.charAt(peg$currPos))) { + s2 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c395); } + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c8(s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + if (s0 !== peg$FAILED) { + peg$tracer.trace({ + type: "rule.match", + rule: "name_bracketed_schar", + result: s0, + description: peg$descNames["name_bracketed_schar"], + location: peg$computeLocation(startPos, peg$currPos) + }); + } else { + peg$tracer.trace({ + type: "rule.fail", + rule: "name_bracketed_schar", + description: peg$descNames["name_bracketed_schar"], + location: peg$computeLocation(startPos, startPos) + }); + } + + return s0; + } + + function peg$parsename_dblquoted() { + var s0, s1, s2, s3, + startPos = peg$currPos; + + peg$tracer.trace({ + type: "rule.enter", + rule: "name_dblquoted", + description: peg$descNames["name_dblquoted"], + location: peg$computeLocation(startPos, startPos) + }); + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 34) { + s1 = peg$c396; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c397); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parsename_dblquoted_schar(); if (s3 !== peg$FAILED) { while (s3 !== peg$FAILED) { s2.push(s3); - s3 = peg$currPos; - s4 = peg$currPos; - peg$silentFails++; - if (input.charCodeAt(peg$currPos) === 34) { - s5 = peg$c391; - peg$currPos++; - } else { - s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c392); } - } - peg$silentFails--; - if (s5 === peg$FAILED) { - s4 = void 0; - } else { - peg$currPos = s4; - s4 = peg$FAILED; - } - if (s4 !== peg$FAILED) { - s5 = peg$parsename_char_quoted(); - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } + s3 = peg$parsename_dblquoted_schar(); } } else { s2 = peg$FAILED; } if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 34) { - s3 = peg$c391; + s3 = peg$c396; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c392); } + if (peg$silentFails === 0) { peg$fail(peg$c397); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c40(s2); + s1 = peg$c398(s2); s0 = s1; } else { peg$currPos = s0; @@ -20773,8 +20804,56 @@ module.exports = (function() { return s0; } + function peg$parsename_dblquoted_schar() { + var s0, + startPos = peg$currPos; + + peg$tracer.trace({ + type: "rule.enter", + rule: "name_dblquoted_schar", + description: peg$descNames["name_dblquoted_schar"], + location: peg$computeLocation(startPos, startPos) + }); + + if (input.substr(peg$currPos, 2) === peg$c399) { + s0 = peg$c399; + peg$currPos += 2; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c400); } + } + if (s0 === peg$FAILED) { + if (peg$c401.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c402); } + } + } + + if (s0 !== peg$FAILED) { + peg$tracer.trace({ + type: "rule.match", + rule: "name_dblquoted_schar", + result: s0, + description: peg$descNames["name_dblquoted_schar"], + location: peg$computeLocation(startPos, peg$currPos) + }); + } else { + peg$tracer.trace({ + type: "rule.fail", + rule: "name_dblquoted_schar", + description: peg$descNames["name_dblquoted_schar"], + location: peg$computeLocation(startPos, startPos) + }); + } + + return s0; + } + function peg$parsename_backticked() { - var s0, s1, s2, s3, s4, s5, + var s0, s1, s2, s3, startPos = peg$currPos; peg$tracer.trace({ @@ -20786,92 +20865,34 @@ module.exports = (function() { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 96) { - s1 = peg$c393; + s1 = peg$c403; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c394); } + if (peg$silentFails === 0) { peg$fail(peg$c404); } } if (s1 !== peg$FAILED) { s2 = []; - s3 = peg$currPos; - s4 = peg$currPos; - peg$silentFails++; - if (input.charCodeAt(peg$currPos) === 96) { - s5 = peg$c393; - peg$currPos++; - } else { - s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c394); } - } - peg$silentFails--; - if (s5 === peg$FAILED) { - s4 = void 0; - } else { - peg$currPos = s4; - s4 = peg$FAILED; - } - if (s4 !== peg$FAILED) { - s5 = peg$parsename_char_quoted(); - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } + s3 = peg$parsename_backticked_schar(); if (s3 !== peg$FAILED) { while (s3 !== peg$FAILED) { s2.push(s3); - s3 = peg$currPos; - s4 = peg$currPos; - peg$silentFails++; - if (input.charCodeAt(peg$currPos) === 96) { - s5 = peg$c393; - peg$currPos++; - } else { - s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c394); } - } - peg$silentFails--; - if (s5 === peg$FAILED) { - s4 = void 0; - } else { - peg$currPos = s4; - s4 = peg$FAILED; - } - if (s4 !== peg$FAILED) { - s5 = peg$parsename_char_quoted(); - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } + s3 = peg$parsename_backticked_schar(); } } else { s2 = peg$FAILED; } if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 96) { - s3 = peg$c393; + s3 = peg$c403; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c394); } + if (peg$silentFails === 0) { peg$fail(peg$c404); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c40(s2); + s1 = peg$c405(s2); s0 = s1; } else { peg$currPos = s0; @@ -20906,6 +20927,54 @@ module.exports = (function() { return s0; } + function peg$parsename_backticked_schar() { + var s0, + startPos = peg$currPos; + + peg$tracer.trace({ + type: "rule.enter", + rule: "name_backticked_schar", + description: peg$descNames["name_backticked_schar"], + location: peg$computeLocation(startPos, startPos) + }); + + if (input.substr(peg$currPos, 2) === peg$c406) { + s0 = peg$c406; + peg$currPos += 2; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c407); } + } + if (s0 === peg$FAILED) { + if (peg$c408.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c409); } + } + } + + if (s0 !== peg$FAILED) { + peg$tracer.trace({ + type: "rule.match", + rule: "name_backticked_schar", + result: s0, + description: peg$descNames["name_backticked_schar"], + location: peg$computeLocation(startPos, peg$currPos) + }); + } else { + peg$tracer.trace({ + type: "rule.fail", + rule: "name_backticked_schar", + description: peg$descNames["name_backticked_schar"], + location: peg$computeLocation(startPos, startPos) + }); + } + + return s0; + } + function peg$parsesym_bopen() { var s0, s1, s2, startPos = peg$currPos; @@ -20920,11 +20989,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 91) { - s1 = peg$c396; + s1 = peg$c411; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c397); } + if (peg$silentFails === 0) { peg$fail(peg$c412); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -20943,7 +21012,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c395); } + if (peg$silentFails === 0) { peg$fail(peg$c410); } } if (s0 !== peg$FAILED) { @@ -20980,11 +21049,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 93) { - s1 = peg$c399; + s1 = peg$c392; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c400); } + if (peg$silentFails === 0) { peg$fail(peg$c393); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21003,7 +21072,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c398); } + if (peg$silentFails === 0) { peg$fail(peg$c413); } } if (s0 !== peg$FAILED) { @@ -21040,11 +21109,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 40) { - s1 = peg$c402; + s1 = peg$c415; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c403); } + if (peg$silentFails === 0) { peg$fail(peg$c416); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21063,7 +21132,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c401); } + if (peg$silentFails === 0) { peg$fail(peg$c414); } } if (s0 !== peg$FAILED) { @@ -21100,11 +21169,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 41) { - s1 = peg$c405; + s1 = peg$c418; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c406); } + if (peg$silentFails === 0) { peg$fail(peg$c419); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21123,7 +21192,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c404); } + if (peg$silentFails === 0) { peg$fail(peg$c417); } } if (s0 !== peg$FAILED) { @@ -21160,11 +21229,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 44) { - s1 = peg$c408; + s1 = peg$c421; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c409); } + if (peg$silentFails === 0) { peg$fail(peg$c422); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21183,7 +21252,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c407); } + if (peg$silentFails === 0) { peg$fail(peg$c420); } } if (s0 !== peg$FAILED) { @@ -21220,11 +21289,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 46) { - s1 = peg$c411; + s1 = peg$c424; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c412); } + if (peg$silentFails === 0) { peg$fail(peg$c425); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21243,7 +21312,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c410); } + if (peg$silentFails === 0) { peg$fail(peg$c423); } } if (s0 !== peg$FAILED) { @@ -21280,11 +21349,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 42) { - s1 = peg$c414; + s1 = peg$c427; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c415); } + if (peg$silentFails === 0) { peg$fail(peg$c428); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21303,7 +21372,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c413); } + if (peg$silentFails === 0) { peg$fail(peg$c426); } } if (s0 !== peg$FAILED) { @@ -21340,11 +21409,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 63) { - s1 = peg$c417; + s1 = peg$c430; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c418); } + if (peg$silentFails === 0) { peg$fail(peg$c431); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21363,7 +21432,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c416); } + if (peg$silentFails === 0) { peg$fail(peg$c429); } } if (s0 !== peg$FAILED) { @@ -21400,11 +21469,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 39) { - s1 = peg$c420; + s1 = peg$c433; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c421); } + if (peg$silentFails === 0) { peg$fail(peg$c434); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21423,7 +21492,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c419); } + if (peg$silentFails === 0) { peg$fail(peg$c432); } } if (s0 !== peg$FAILED) { @@ -21460,11 +21529,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 34) { - s1 = peg$c391; + s1 = peg$c396; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c392); } + if (peg$silentFails === 0) { peg$fail(peg$c397); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21483,7 +21552,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c422); } + if (peg$silentFails === 0) { peg$fail(peg$c435); } } if (s0 !== peg$FAILED) { @@ -21520,11 +21589,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 96) { - s1 = peg$c393; + s1 = peg$c403; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c394); } + if (peg$silentFails === 0) { peg$fail(peg$c404); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21543,7 +21612,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c423); } + if (peg$silentFails === 0) { peg$fail(peg$c436); } } if (s0 !== peg$FAILED) { @@ -21580,11 +21649,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 126) { - s1 = peg$c425; + s1 = peg$c438; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c426); } + if (peg$silentFails === 0) { peg$fail(peg$c439); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21603,7 +21672,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c424); } + if (peg$silentFails === 0) { peg$fail(peg$c437); } } if (s0 !== peg$FAILED) { @@ -21640,11 +21709,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 43) { - s1 = peg$c428; + s1 = peg$c441; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c429); } + if (peg$silentFails === 0) { peg$fail(peg$c442); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21663,7 +21732,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c427); } + if (peg$silentFails === 0) { peg$fail(peg$c440); } } if (s0 !== peg$FAILED) { @@ -21700,11 +21769,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 45) { - s1 = peg$c431; + s1 = peg$c444; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c432); } + if (peg$silentFails === 0) { peg$fail(peg$c445); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21723,7 +21792,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c430); } + if (peg$silentFails === 0) { peg$fail(peg$c443); } } if (s0 !== peg$FAILED) { @@ -21760,11 +21829,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 61) { - s1 = peg$c433; + s1 = peg$c446; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c434); } + if (peg$silentFails === 0) { peg$fail(peg$c447); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21820,11 +21889,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 38) { - s1 = peg$c436; + s1 = peg$c449; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c437); } + if (peg$silentFails === 0) { peg$fail(peg$c450); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21843,7 +21912,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c435); } + if (peg$silentFails === 0) { peg$fail(peg$c448); } } if (s0 !== peg$FAILED) { @@ -21880,11 +21949,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 124) { - s1 = peg$c439; + s1 = peg$c452; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c440); } + if (peg$silentFails === 0) { peg$fail(peg$c453); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21903,7 +21972,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c438); } + if (peg$silentFails === 0) { peg$fail(peg$c451); } } if (s0 !== peg$FAILED) { @@ -21940,11 +22009,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 37) { - s1 = peg$c441; + s1 = peg$c454; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c442); } + if (peg$silentFails === 0) { peg$fail(peg$c455); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -22000,11 +22069,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 60) { - s1 = peg$c443; + s1 = peg$c456; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c444); } + if (peg$silentFails === 0) { peg$fail(peg$c457); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -22060,11 +22129,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 62) { - s1 = peg$c445; + s1 = peg$c458; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c446); } + if (peg$silentFails === 0) { peg$fail(peg$c459); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -22120,11 +22189,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 33) { - s1 = peg$c448; + s1 = peg$c461; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c449); } + if (peg$silentFails === 0) { peg$fail(peg$c462); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -22143,7 +22212,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c447); } + if (peg$silentFails === 0) { peg$fail(peg$c460); } } if (s0 !== peg$FAILED) { @@ -22180,11 +22249,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 59) { - s1 = peg$c451; + s1 = peg$c464; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c452); } + if (peg$silentFails === 0) { peg$fail(peg$c465); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -22203,7 +22272,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c450); } + if (peg$silentFails === 0) { peg$fail(peg$c463); } } if (s0 !== peg$FAILED) { @@ -22263,7 +22332,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c453); } + if (peg$silentFails === 0) { peg$fail(peg$c466); } } if (s0 !== peg$FAILED) { @@ -22300,11 +22369,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 47) { - s1 = peg$c455; + s1 = peg$c468; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c456); } + if (peg$silentFails === 0) { peg$fail(peg$c469); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -22323,7 +22392,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c454); } + if (peg$silentFails === 0) { peg$fail(peg$c467); } } if (s0 !== peg$FAILED) { @@ -22360,11 +22429,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c458; + s1 = peg$c471; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c459); } + if (peg$silentFails === 0) { peg$fail(peg$c472); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -22383,7 +22452,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c457); } + if (peg$silentFails === 0) { peg$fail(peg$c470); } } if (s0 !== peg$FAILED) { @@ -22417,12 +22486,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c460) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c473) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c461); } + if (peg$silentFails === 0) { peg$fail(peg$c474); } } if (s0 !== peg$FAILED) { @@ -22456,12 +22525,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c462) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c475) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c463); } + if (peg$silentFails === 0) { peg$fail(peg$c476); } } if (s0 !== peg$FAILED) { @@ -22495,12 +22564,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c464) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c477) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c465); } + if (peg$silentFails === 0) { peg$fail(peg$c478); } } if (s0 !== peg$FAILED) { @@ -22534,12 +22603,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c466) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c479) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c467); } + if (peg$silentFails === 0) { peg$fail(peg$c480); } } if (s0 !== peg$FAILED) { @@ -22573,12 +22642,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c468) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c481) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c469); } + if (peg$silentFails === 0) { peg$fail(peg$c482); } } if (s0 !== peg$FAILED) { @@ -22612,12 +22681,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c470) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c483) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c471); } + if (peg$silentFails === 0) { peg$fail(peg$c484); } } if (s0 !== peg$FAILED) { @@ -22651,12 +22720,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c472) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c485) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c473); } + if (peg$silentFails === 0) { peg$fail(peg$c486); } } if (s0 !== peg$FAILED) { @@ -22690,12 +22759,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c474) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c487) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c475); } + if (peg$silentFails === 0) { peg$fail(peg$c488); } } if (s0 !== peg$FAILED) { @@ -22729,12 +22798,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c476) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c489) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c477); } + if (peg$silentFails === 0) { peg$fail(peg$c490); } } if (s0 !== peg$FAILED) { @@ -22768,12 +22837,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c478) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c491) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c479); } + if (peg$silentFails === 0) { peg$fail(peg$c492); } } if (s0 !== peg$FAILED) { @@ -22807,12 +22876,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c480) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c493) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c481); } + if (peg$silentFails === 0) { peg$fail(peg$c494); } } if (s0 !== peg$FAILED) { @@ -22846,12 +22915,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 13).toLowerCase() === peg$c482) { + if (input.substr(peg$currPos, 13).toLowerCase() === peg$c495) { s0 = input.substr(peg$currPos, 13); peg$currPos += 13; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c483); } + if (peg$silentFails === 0) { peg$fail(peg$c496); } } if (s0 !== peg$FAILED) { @@ -22885,12 +22954,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c484) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c497) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c485); } + if (peg$silentFails === 0) { peg$fail(peg$c498); } } if (s0 !== peg$FAILED) { @@ -22924,12 +22993,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c486) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c499) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c487); } + if (peg$silentFails === 0) { peg$fail(peg$c500); } } if (s0 !== peg$FAILED) { @@ -22963,12 +23032,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c488) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c501) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c489); } + if (peg$silentFails === 0) { peg$fail(peg$c502); } } if (s0 !== peg$FAILED) { @@ -23002,12 +23071,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c490) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c503) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c491); } + if (peg$silentFails === 0) { peg$fail(peg$c504); } } if (s0 !== peg$FAILED) { @@ -23041,12 +23110,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c492) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c505) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c493); } + if (peg$silentFails === 0) { peg$fail(peg$c506); } } if (s0 !== peg$FAILED) { @@ -23080,12 +23149,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c494) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c507) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c495); } + if (peg$silentFails === 0) { peg$fail(peg$c508); } } if (s0 !== peg$FAILED) { @@ -23119,12 +23188,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c496) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c509) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c497); } + if (peg$silentFails === 0) { peg$fail(peg$c510); } } if (s0 !== peg$FAILED) { @@ -23158,12 +23227,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c498) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c511) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c499); } + if (peg$silentFails === 0) { peg$fail(peg$c512); } } if (s0 !== peg$FAILED) { @@ -23197,12 +23266,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c500) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c513) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c501); } + if (peg$silentFails === 0) { peg$fail(peg$c514); } } if (s0 !== peg$FAILED) { @@ -23236,12 +23305,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c502) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c515) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c503); } + if (peg$silentFails === 0) { peg$fail(peg$c516); } } if (s0 !== peg$FAILED) { @@ -23275,12 +23344,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c504) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c517) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c505); } + if (peg$silentFails === 0) { peg$fail(peg$c518); } } if (s0 !== peg$FAILED) { @@ -23314,12 +23383,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8).toLowerCase() === peg$c506) { + if (input.substr(peg$currPos, 8).toLowerCase() === peg$c519) { s0 = input.substr(peg$currPos, 8); peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c507); } + if (peg$silentFails === 0) { peg$fail(peg$c520); } } if (s0 !== peg$FAILED) { @@ -23353,12 +23422,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 10).toLowerCase() === peg$c508) { + if (input.substr(peg$currPos, 10).toLowerCase() === peg$c521) { s0 = input.substr(peg$currPos, 10); peg$currPos += 10; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c509); } + if (peg$silentFails === 0) { peg$fail(peg$c522); } } if (s0 !== peg$FAILED) { @@ -23392,12 +23461,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c510) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c523) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c511); } + if (peg$silentFails === 0) { peg$fail(peg$c524); } } if (s0 !== peg$FAILED) { @@ -23431,12 +23500,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c512) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c525) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c513); } + if (peg$silentFails === 0) { peg$fail(peg$c526); } } if (s0 !== peg$FAILED) { @@ -23470,12 +23539,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 12).toLowerCase() === peg$c514) { + if (input.substr(peg$currPos, 12).toLowerCase() === peg$c527) { s0 = input.substr(peg$currPos, 12); peg$currPos += 12; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c515); } + if (peg$silentFails === 0) { peg$fail(peg$c528); } } if (s0 !== peg$FAILED) { @@ -23509,12 +23578,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 12).toLowerCase() === peg$c516) { + if (input.substr(peg$currPos, 12).toLowerCase() === peg$c529) { s0 = input.substr(peg$currPos, 12); peg$currPos += 12; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c517); } + if (peg$silentFails === 0) { peg$fail(peg$c530); } } if (s0 !== peg$FAILED) { @@ -23548,12 +23617,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 17).toLowerCase() === peg$c518) { + if (input.substr(peg$currPos, 17).toLowerCase() === peg$c531) { s0 = input.substr(peg$currPos, 17); peg$currPos += 17; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c519); } + if (peg$silentFails === 0) { peg$fail(peg$c532); } } if (s0 !== peg$FAILED) { @@ -23587,12 +23656,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8).toLowerCase() === peg$c520) { + if (input.substr(peg$currPos, 8).toLowerCase() === peg$c533) { s0 = input.substr(peg$currPos, 8); peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c521); } + if (peg$silentFails === 0) { peg$fail(peg$c534); } } if (s0 !== peg$FAILED) { @@ -23626,12 +23695,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c522) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c535) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c523); } + if (peg$silentFails === 0) { peg$fail(peg$c536); } } if (s0 !== peg$FAILED) { @@ -23665,12 +23734,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 10).toLowerCase() === peg$c524) { + if (input.substr(peg$currPos, 10).toLowerCase() === peg$c537) { s0 = input.substr(peg$currPos, 10); peg$currPos += 10; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c525); } + if (peg$silentFails === 0) { peg$fail(peg$c538); } } if (s0 !== peg$FAILED) { @@ -23704,12 +23773,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8).toLowerCase() === peg$c526) { + if (input.substr(peg$currPos, 8).toLowerCase() === peg$c539) { s0 = input.substr(peg$currPos, 8); peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c527); } + if (peg$silentFails === 0) { peg$fail(peg$c540); } } if (s0 !== peg$FAILED) { @@ -23743,12 +23812,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c528) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c541) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c529); } + if (peg$silentFails === 0) { peg$fail(peg$c542); } } if (s0 !== peg$FAILED) { @@ -23782,12 +23851,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c530) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c543) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c531); } + if (peg$silentFails === 0) { peg$fail(peg$c544); } } if (s0 !== peg$FAILED) { @@ -23821,12 +23890,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c532) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c545) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c533); } + if (peg$silentFails === 0) { peg$fail(peg$c546); } } if (s0 !== peg$FAILED) { @@ -23860,12 +23929,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8).toLowerCase() === peg$c534) { + if (input.substr(peg$currPos, 8).toLowerCase() === peg$c547) { s0 = input.substr(peg$currPos, 8); peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c535); } + if (peg$silentFails === 0) { peg$fail(peg$c548); } } if (s0 !== peg$FAILED) { @@ -23899,12 +23968,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c536) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c549) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c537); } + if (peg$silentFails === 0) { peg$fail(peg$c550); } } if (s0 !== peg$FAILED) { @@ -23938,12 +24007,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c538) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c551) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c539); } + if (peg$silentFails === 0) { peg$fail(peg$c552); } } if (s0 !== peg$FAILED) { @@ -23977,12 +24046,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c540) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c553) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c541); } + if (peg$silentFails === 0) { peg$fail(peg$c554); } } if (s0 !== peg$FAILED) { @@ -24016,12 +24085,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c542) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c555) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c543); } + if (peg$silentFails === 0) { peg$fail(peg$c556); } } if (s0 !== peg$FAILED) { @@ -24055,12 +24124,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c544) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c557) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c545); } + if (peg$silentFails === 0) { peg$fail(peg$c558); } } if (s0 !== peg$FAILED) { @@ -24094,12 +24163,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c546) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c559) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c547); } + if (peg$silentFails === 0) { peg$fail(peg$c560); } } if (s0 !== peg$FAILED) { @@ -24133,12 +24202,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c548) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c561) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c549); } + if (peg$silentFails === 0) { peg$fail(peg$c562); } } if (s0 !== peg$FAILED) { @@ -24172,12 +24241,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c550) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c563) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c551); } + if (peg$silentFails === 0) { peg$fail(peg$c564); } } if (s0 !== peg$FAILED) { @@ -24211,12 +24280,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c552) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c565) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c553); } + if (peg$silentFails === 0) { peg$fail(peg$c566); } } if (s0 !== peg$FAILED) { @@ -24250,12 +24319,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c554) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c567) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c555); } + if (peg$silentFails === 0) { peg$fail(peg$c568); } } if (s0 !== peg$FAILED) { @@ -24289,12 +24358,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c556) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c569) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c557); } + if (peg$silentFails === 0) { peg$fail(peg$c570); } } if (s0 !== peg$FAILED) { @@ -24328,12 +24397,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c558) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c571) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c559); } + if (peg$silentFails === 0) { peg$fail(peg$c572); } } if (s0 !== peg$FAILED) { @@ -24367,12 +24436,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c560) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c573) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c561); } + if (peg$silentFails === 0) { peg$fail(peg$c574); } } if (s0 !== peg$FAILED) { @@ -24406,12 +24475,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c562) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c575) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c563); } + if (peg$silentFails === 0) { peg$fail(peg$c576); } } if (s0 !== peg$FAILED) { @@ -24445,12 +24514,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c564) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c577) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c565); } + if (peg$silentFails === 0) { peg$fail(peg$c578); } } if (s0 !== peg$FAILED) { @@ -24484,12 +24553,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c566) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c579) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c567); } + if (peg$silentFails === 0) { peg$fail(peg$c580); } } if (s0 !== peg$FAILED) { @@ -24523,12 +24592,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c568) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c581) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c569); } + if (peg$silentFails === 0) { peg$fail(peg$c582); } } if (s0 !== peg$FAILED) { @@ -24562,12 +24631,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c570) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c583) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c571); } + if (peg$silentFails === 0) { peg$fail(peg$c584); } } if (s0 !== peg$FAILED) { @@ -24601,12 +24670,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c572) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c585) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c573); } + if (peg$silentFails === 0) { peg$fail(peg$c586); } } if (s0 !== peg$FAILED) { @@ -24640,12 +24709,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c574) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c587) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c575); } + if (peg$silentFails === 0) { peg$fail(peg$c588); } } if (s0 !== peg$FAILED) { @@ -24679,12 +24748,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c576) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c589) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c577); } + if (peg$silentFails === 0) { peg$fail(peg$c590); } } if (s0 !== peg$FAILED) { @@ -24718,12 +24787,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c578) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c591) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c579); } + if (peg$silentFails === 0) { peg$fail(peg$c592); } } if (s0 !== peg$FAILED) { @@ -24757,12 +24826,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c580) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c593) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c581); } + if (peg$silentFails === 0) { peg$fail(peg$c594); } } if (s0 !== peg$FAILED) { @@ -24796,12 +24865,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c582) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c595) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c583); } + if (peg$silentFails === 0) { peg$fail(peg$c596); } } if (s0 !== peg$FAILED) { @@ -24835,12 +24904,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c584) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c597) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c585); } + if (peg$silentFails === 0) { peg$fail(peg$c598); } } if (s0 !== peg$FAILED) { @@ -24874,12 +24943,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c586) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c599) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c587); } + if (peg$silentFails === 0) { peg$fail(peg$c600); } } if (s0 !== peg$FAILED) { @@ -24913,12 +24982,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c588) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c601) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c589); } + if (peg$silentFails === 0) { peg$fail(peg$c602); } } if (s0 !== peg$FAILED) { @@ -24952,12 +25021,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c590) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c603) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c591); } + if (peg$silentFails === 0) { peg$fail(peg$c604); } } if (s0 !== peg$FAILED) { @@ -24991,12 +25060,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c592) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c605) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c593); } + if (peg$silentFails === 0) { peg$fail(peg$c606); } } if (s0 !== peg$FAILED) { @@ -25030,12 +25099,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c594) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c607) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c595); } + if (peg$silentFails === 0) { peg$fail(peg$c608); } } if (s0 !== peg$FAILED) { @@ -25069,12 +25138,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c596) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c609) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c597); } + if (peg$silentFails === 0) { peg$fail(peg$c610); } } if (s0 !== peg$FAILED) { @@ -25108,12 +25177,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c598) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c611) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c599); } + if (peg$silentFails === 0) { peg$fail(peg$c612); } } if (s0 !== peg$FAILED) { @@ -25147,12 +25216,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c600) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c613) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c601); } + if (peg$silentFails === 0) { peg$fail(peg$c614); } } if (s0 !== peg$FAILED) { @@ -25186,12 +25255,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c602) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c615) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c603); } + if (peg$silentFails === 0) { peg$fail(peg$c616); } } if (s0 !== peg$FAILED) { @@ -25225,12 +25294,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c604) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c617) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c605); } + if (peg$silentFails === 0) { peg$fail(peg$c618); } } if (s0 !== peg$FAILED) { @@ -25264,12 +25333,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c606) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c619) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c607); } + if (peg$silentFails === 0) { peg$fail(peg$c620); } } if (s0 !== peg$FAILED) { @@ -25303,12 +25372,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c608) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c621) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c609); } + if (peg$silentFails === 0) { peg$fail(peg$c622); } } if (s0 !== peg$FAILED) { @@ -25342,12 +25411,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c610) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c623) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c611); } + if (peg$silentFails === 0) { peg$fail(peg$c624); } } if (s0 !== peg$FAILED) { @@ -25381,12 +25450,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c612) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c625) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c613); } + if (peg$silentFails === 0) { peg$fail(peg$c626); } } if (s0 !== peg$FAILED) { @@ -25420,12 +25489,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c614) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c627) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c615); } + if (peg$silentFails === 0) { peg$fail(peg$c628); } } if (s0 !== peg$FAILED) { @@ -25459,12 +25528,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c616) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c629) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c617); } + if (peg$silentFails === 0) { peg$fail(peg$c630); } } if (s0 !== peg$FAILED) { @@ -25498,12 +25567,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c618) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c631) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c619); } + if (peg$silentFails === 0) { peg$fail(peg$c632); } } if (s0 !== peg$FAILED) { @@ -25537,12 +25606,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c620) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c633) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c621); } + if (peg$silentFails === 0) { peg$fail(peg$c634); } } if (s0 !== peg$FAILED) { @@ -25576,12 +25645,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c622) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c635) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c623); } + if (peg$silentFails === 0) { peg$fail(peg$c636); } } if (s0 !== peg$FAILED) { @@ -25615,12 +25684,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c624) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c637) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c625); } + if (peg$silentFails === 0) { peg$fail(peg$c638); } } if (s0 !== peg$FAILED) { @@ -25654,12 +25723,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c626) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c639) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c627); } + if (peg$silentFails === 0) { peg$fail(peg$c640); } } if (s0 !== peg$FAILED) { @@ -25693,12 +25762,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c628) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c641) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c629); } + if (peg$silentFails === 0) { peg$fail(peg$c642); } } if (s0 !== peg$FAILED) { @@ -25732,12 +25801,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c630) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c643) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c631); } + if (peg$silentFails === 0) { peg$fail(peg$c644); } } if (s0 !== peg$FAILED) { @@ -25771,12 +25840,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c632) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c645) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c633); } + if (peg$silentFails === 0) { peg$fail(peg$c646); } } if (s0 !== peg$FAILED) { @@ -25810,12 +25879,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c634) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c647) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c635); } + if (peg$silentFails === 0) { peg$fail(peg$c648); } } if (s0 !== peg$FAILED) { @@ -25849,12 +25918,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c636) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c649) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c637); } + if (peg$silentFails === 0) { peg$fail(peg$c650); } } if (s0 !== peg$FAILED) { @@ -25888,12 +25957,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c638) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c651) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c639); } + if (peg$silentFails === 0) { peg$fail(peg$c652); } } if (s0 !== peg$FAILED) { @@ -25927,12 +25996,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c640) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c653) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c641); } + if (peg$silentFails === 0) { peg$fail(peg$c654); } } if (s0 !== peg$FAILED) { @@ -25966,12 +26035,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c642) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c655) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c643); } + if (peg$silentFails === 0) { peg$fail(peg$c656); } } if (s0 !== peg$FAILED) { @@ -26005,12 +26074,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 10).toLowerCase() === peg$c644) { + if (input.substr(peg$currPos, 10).toLowerCase() === peg$c657) { s0 = input.substr(peg$currPos, 10); peg$currPos += 10; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c645); } + if (peg$silentFails === 0) { peg$fail(peg$c658); } } if (s0 !== peg$FAILED) { @@ -26044,12 +26113,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c646) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c659) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c647); } + if (peg$silentFails === 0) { peg$fail(peg$c660); } } if (s0 !== peg$FAILED) { @@ -26083,12 +26152,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c648) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c661) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c649); } + if (peg$silentFails === 0) { peg$fail(peg$c662); } } if (s0 !== peg$FAILED) { @@ -26122,12 +26191,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c650) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c663) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c651); } + if (peg$silentFails === 0) { peg$fail(peg$c664); } } if (s0 !== peg$FAILED) { @@ -26161,12 +26230,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c652) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c665) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c653); } + if (peg$silentFails === 0) { peg$fail(peg$c666); } } if (s0 !== peg$FAILED) { @@ -26200,12 +26269,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c654) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c667) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c655); } + if (peg$silentFails === 0) { peg$fail(peg$c668); } } if (s0 !== peg$FAILED) { @@ -26239,12 +26308,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8).toLowerCase() === peg$c656) { + if (input.substr(peg$currPos, 8).toLowerCase() === peg$c669) { s0 = input.substr(peg$currPos, 8); peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c657); } + if (peg$silentFails === 0) { peg$fail(peg$c670); } } if (s0 !== peg$FAILED) { @@ -26278,12 +26347,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c658) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c671) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c659); } + if (peg$silentFails === 0) { peg$fail(peg$c672); } } if (s0 !== peg$FAILED) { @@ -26317,12 +26386,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8).toLowerCase() === peg$c660) { + if (input.substr(peg$currPos, 8).toLowerCase() === peg$c673) { s0 = input.substr(peg$currPos, 8); peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c661); } + if (peg$silentFails === 0) { peg$fail(peg$c674); } } if (s0 !== peg$FAILED) { @@ -26356,12 +26425,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c662) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c675) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c663); } + if (peg$silentFails === 0) { peg$fail(peg$c676); } } if (s0 !== peg$FAILED) { @@ -26395,12 +26464,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c664) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c677) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c665); } + if (peg$silentFails === 0) { peg$fail(peg$c678); } } if (s0 !== peg$FAILED) { @@ -26434,12 +26503,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c666) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c679) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c667); } + if (peg$silentFails === 0) { peg$fail(peg$c680); } } if (s0 !== peg$FAILED) { @@ -26473,12 +26542,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c668) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c681) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c669); } + if (peg$silentFails === 0) { peg$fail(peg$c682); } } if (s0 !== peg$FAILED) { @@ -26512,12 +26581,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c670) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c683) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c671); } + if (peg$silentFails === 0) { peg$fail(peg$c684); } } if (s0 !== peg$FAILED) { @@ -26551,12 +26620,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c672) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c685) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c673); } + if (peg$silentFails === 0) { peg$fail(peg$c686); } } if (s0 !== peg$FAILED) { @@ -26590,12 +26659,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c674) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c687) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c675); } + if (peg$silentFails === 0) { peg$fail(peg$c688); } } if (s0 !== peg$FAILED) { @@ -26629,12 +26698,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c676) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c689) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c677); } + if (peg$silentFails === 0) { peg$fail(peg$c690); } } if (s0 !== peg$FAILED) { @@ -26668,12 +26737,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c678) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c691) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c679); } + if (peg$silentFails === 0) { peg$fail(peg$c692); } } if (s0 !== peg$FAILED) { @@ -26707,12 +26776,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c680) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c693) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c681); } + if (peg$silentFails === 0) { peg$fail(peg$c694); } } if (s0 !== peg$FAILED) { @@ -26746,12 +26815,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 11).toLowerCase() === peg$c682) { + if (input.substr(peg$currPos, 11).toLowerCase() === peg$c695) { s0 = input.substr(peg$currPos, 11); peg$currPos += 11; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c683); } + if (peg$silentFails === 0) { peg$fail(peg$c696); } } if (s0 !== peg$FAILED) { @@ -26785,12 +26854,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c684) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c697) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c685); } + if (peg$silentFails === 0) { peg$fail(peg$c698); } } if (s0 !== peg$FAILED) { @@ -26824,12 +26893,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c686) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c699) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c687); } + if (peg$silentFails === 0) { peg$fail(peg$c700); } } if (s0 !== peg$FAILED) { @@ -26863,12 +26932,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c688) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c701) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c689); } + if (peg$silentFails === 0) { peg$fail(peg$c702); } } if (s0 !== peg$FAILED) { @@ -26902,12 +26971,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c690) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c703) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c691); } + if (peg$silentFails === 0) { peg$fail(peg$c704); } } if (s0 !== peg$FAILED) { @@ -26941,12 +27010,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c692) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c705) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c693); } + if (peg$silentFails === 0) { peg$fail(peg$c706); } } if (s0 !== peg$FAILED) { @@ -26980,12 +27049,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c694) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c707) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c695); } + if (peg$silentFails === 0) { peg$fail(peg$c708); } } if (s0 !== peg$FAILED) { @@ -27019,12 +27088,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c696) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c709) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c697); } + if (peg$silentFails === 0) { peg$fail(peg$c710); } } if (s0 !== peg$FAILED) { @@ -27058,12 +27127,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c698) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c711) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c699); } + if (peg$silentFails === 0) { peg$fail(peg$c712); } } if (s0 !== peg$FAILED) { @@ -27097,12 +27166,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c700) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c713) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c701); } + if (peg$silentFails === 0) { peg$fail(peg$c714); } } if (s0 !== peg$FAILED) { @@ -27136,12 +27205,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c702) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c715) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c703); } + if (peg$silentFails === 0) { peg$fail(peg$c716); } } if (s0 !== peg$FAILED) { @@ -27175,12 +27244,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c704) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c717) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c705); } + if (peg$silentFails === 0) { peg$fail(peg$c718); } } if (s0 !== peg$FAILED) { @@ -27214,12 +27283,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c706) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c719) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c707); } + if (peg$silentFails === 0) { peg$fail(peg$c720); } } if (s0 !== peg$FAILED) { @@ -27253,12 +27322,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c708) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c721) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c709); } + if (peg$silentFails === 0) { peg$fail(peg$c722); } } if (s0 !== peg$FAILED) { @@ -27296,7 +27365,7 @@ module.exports = (function() { s1 = peg$parsereserved_word_list(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c710(s1); + s1 = peg$c723(s1); } s0 = s1; @@ -27851,7 +27920,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c711); } + if (peg$silentFails === 0) { peg$fail(peg$c724); } } if (s0 !== peg$FAILED) { @@ -27916,7 +27985,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c712); } + if (peg$silentFails === 0) { peg$fail(peg$c725); } } if (s0 !== peg$FAILED) { @@ -28254,12 +28323,12 @@ module.exports = (function() { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c714); } + if (peg$silentFails === 0) { peg$fail(peg$c727); } } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c713); } + if (peg$silentFails === 0) { peg$fail(peg$c726); } } if (s0 !== peg$FAILED) { @@ -28458,17 +28527,17 @@ module.exports = (function() { }); peg$silentFails++; - if (peg$c716.test(input.charAt(peg$currPos))) { + if (peg$c729.test(input.charAt(peg$currPos))) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c717); } + if (peg$silentFails === 0) { peg$fail(peg$c730); } } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c715); } + if (peg$silentFails === 0) { peg$fail(peg$c728); } } if (s0 !== peg$FAILED) { @@ -28503,17 +28572,17 @@ module.exports = (function() { }); peg$silentFails++; - if (peg$c719.test(input.charAt(peg$currPos))) { + if (peg$c732.test(input.charAt(peg$currPos))) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c720); } + if (peg$silentFails === 0) { peg$fail(peg$c733); } } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c718); } + if (peg$silentFails === 0) { peg$fail(peg$c731); } } if (s0 !== peg$FAILED) { @@ -28547,12 +28616,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8) === peg$c721) { - s0 = peg$c721; + if (input.substr(peg$currPos, 8) === peg$c734) { + s0 = peg$c734; peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c722); } + if (peg$silentFails === 0) { peg$fail(peg$c735); } } if (s0 !== peg$FAILED) { diff --git a/lib/parser-util.js b/lib/parser-util.js index 3b01814..c9d0250 100644 --- a/lib/parser-util.js +++ b/lib/parser-util.js @@ -89,8 +89,13 @@ function textNode(elem) { return nodeToString(elem).trim(); } -function unescape(str) { - return str.replace(/\'{2}/g, '\''); +function unescape(str, quoteChar) { + var re; + if (quoteChar == null) { + quoteChar = '\''; + } + re = new RegExp(quoteChar + '{2}', 'g'); + return str.replace(re, quoteChar); } function extend() { @@ -160,10 +165,6 @@ function findWhere(arr, props) { return null; } -function keywordify(elem) { - return textNode(elem).toUpperCase(); -} - function key(elem) { return textNode(elem).toLowerCase(); } @@ -179,7 +180,6 @@ module.exports = { 'nodeToString': nodeToString, 'textNode': textNode, 'unescape': unescape, - 'keywordify': keywordify, 'key': key, // Type detection 'typed': typed, diff --git a/lib/parser.js b/lib/parser.js index ee251e9..b4ad01f 100644 --- a/lib/parser.js +++ b/lib/parser.js @@ -308,7 +308,7 @@ module.exports = (function() { * @note Unescaped the pairs of literal single quotation marks * @note Not sure if the BLOB type should be un-escaped */ - return util.unescape(util.textNode(s)); + return util.unescape(util.nodeToString(s), "'"); }, peg$c58 = "''", peg$c59 = { type: "literal", value: "''", description: "\"''\"" }, @@ -877,47 +877,49 @@ module.exports = (function() { peg$c262 = "clob", peg$c263 = { type: "literal", value: "CLOB", description: "\"CLOB\"" }, peg$c264 = { type: "other", description: "REAL Datatype Name" }, - peg$c265 = "double", - peg$c266 = { type: "literal", value: "DOUBLE", description: "\"DOUBLE\"" }, - peg$c267 = "precision", - peg$c268 = { type: "literal", value: "PRECISION", description: "\"PRECISION\"" }, - peg$c269 = "float", - peg$c270 = { type: "literal", value: "FLOAT", description: "\"FLOAT\"" }, - peg$c271 = "real", - peg$c272 = { type: "literal", value: "REAL", description: "\"REAL\"" }, - peg$c273 = { type: "other", description: "NUMERIC Datatype Name" }, - peg$c274 = "numeric", - peg$c275 = { type: "literal", value: "NUMERIC", description: "\"NUMERIC\"" }, - peg$c276 = "decimal", - peg$c277 = { type: "literal", value: "DECIMAL", description: "\"DECIMAL\"" }, - peg$c278 = "boolean", - peg$c279 = { type: "literal", value: "BOOLEAN", description: "\"BOOLEAN\"" }, - peg$c280 = "date", - peg$c281 = { type: "literal", value: "DATE", description: "\"DATE\"" }, - peg$c282 = "time", - peg$c283 = { type: "literal", value: "TIME", description: "\"TIME\"" }, - peg$c284 = "stamp", - peg$c285 = { type: "literal", value: "STAMP", description: "\"STAMP\"" }, - peg$c286 = { type: "other", description: "INTEGER Datatype Name" }, - peg$c287 = "int", - peg$c288 = { type: "literal", value: "INT", description: "\"INT\"" }, - peg$c289 = "2", - peg$c290 = { type: "literal", value: "2", description: "\"2\"" }, - peg$c291 = "4", - peg$c292 = { type: "literal", value: "4", description: "\"4\"" }, - peg$c293 = "8", - peg$c294 = { type: "literal", value: "8", description: "\"8\"" }, - peg$c295 = "eger", - peg$c296 = { type: "literal", value: "EGER", description: "\"EGER\"" }, - peg$c297 = "big", - peg$c298 = { type: "literal", value: "BIG", description: "\"BIG\"" }, - peg$c299 = "small", - peg$c300 = { type: "literal", value: "SMALL", description: "\"SMALL\"" }, - peg$c301 = { type: "other", description: "BLOB Datatype Name" }, - peg$c302 = "blob", - peg$c303 = { type: "literal", value: "BLOB", description: "\"BLOB\"" }, - peg$c304 = { type: "other", description: "UPDATE Statement" }, - peg$c305 = function(u, s, f, t, w, o, l) { + peg$c265 = "float", + peg$c266 = { type: "literal", value: "FLOAT", description: "\"FLOAT\"" }, + peg$c267 = "real", + peg$c268 = { type: "literal", value: "REAL", description: "\"REAL\"" }, + peg$c269 = "double", + peg$c270 = { type: "literal", value: "DOUBLE", description: "\"DOUBLE\"" }, + peg$c271 = function(d, p) { return util.compose([d, p]); }, + peg$c272 = "precision", + peg$c273 = { type: "literal", value: "PRECISION", description: "\"PRECISION\"" }, + peg$c274 = function(p) { return p; }, + peg$c275 = { type: "other", description: "NUMERIC Datatype Name" }, + peg$c276 = "numeric", + peg$c277 = { type: "literal", value: "NUMERIC", description: "\"NUMERIC\"" }, + peg$c278 = "decimal", + peg$c279 = { type: "literal", value: "DECIMAL", description: "\"DECIMAL\"" }, + peg$c280 = "boolean", + peg$c281 = { type: "literal", value: "BOOLEAN", description: "\"BOOLEAN\"" }, + peg$c282 = "date", + peg$c283 = { type: "literal", value: "DATE", description: "\"DATE\"" }, + peg$c284 = "time", + peg$c285 = { type: "literal", value: "TIME", description: "\"TIME\"" }, + peg$c286 = "stamp", + peg$c287 = { type: "literal", value: "STAMP", description: "\"STAMP\"" }, + peg$c288 = { type: "other", description: "INTEGER Datatype Name" }, + peg$c289 = "int", + peg$c290 = { type: "literal", value: "INT", description: "\"INT\"" }, + peg$c291 = "2", + peg$c292 = { type: "literal", value: "2", description: "\"2\"" }, + peg$c293 = "4", + peg$c294 = { type: "literal", value: "4", description: "\"4\"" }, + peg$c295 = "8", + peg$c296 = { type: "literal", value: "8", description: "\"8\"" }, + peg$c297 = "eger", + peg$c298 = { type: "literal", value: "EGER", description: "\"EGER\"" }, + peg$c299 = "big", + peg$c300 = { type: "literal", value: "BIG", description: "\"BIG\"" }, + peg$c301 = "small", + peg$c302 = { type: "literal", value: "SMALL", description: "\"SMALL\"" }, + peg$c303 = { type: "other", description: "BLOB Datatype Name" }, + peg$c304 = "blob", + peg$c305 = { type: "literal", value: "BLOB", description: "\"BLOB\"" }, + peg$c306 = { type: "other", description: "UPDATE Statement" }, + peg$c307 = function(u, s, f, t, w, o, l) { // TODO: Not final syntax! return util.extend({ 'type': 'statement', @@ -929,28 +931,28 @@ module.exports = (function() { 'limit': l }, u, f); }, - peg$c306 = { type: "other", description: "UPDATE" }, - peg$c307 = { type: "other", description: "Update Fallback" }, - peg$c308 = function(t) { + peg$c308 = { type: "other", description: "UPDATE" }, + peg$c309 = { type: "other", description: "Update Fallback" }, + peg$c310 = function(t) { return { 'or': util.key(t) }; }, - peg$c309 = { type: "other", description: "Update SET" }, - peg$c310 = function(c) { + peg$c311 = { type: "other", description: "Update SET" }, + peg$c312 = function(c) { return { 'set': c }; }, - peg$c311 = function(f, e) { + peg$c313 = function(f, e) { return { 'type': 'assignment', 'target': f, 'value': e }; }, - peg$c312 = { type: "other", description: "DELETE Statement" }, - peg$c313 = function(u, s, t, w, o, l) { + peg$c314 = { type: "other", description: "DELETE Statement" }, + peg$c315 = function(u, s, t, w, o, l) { // TODO: Not final syntax! return util.extend({ 'type': 'statement', @@ -961,9 +963,9 @@ module.exports = (function() { 'limit': l }, u); }, - peg$c314 = { type: "other", description: "CREATE Statement" }, - peg$c315 = { type: "other", description: "CREATE Table" }, - peg$c316 = function(s, tmp, t, ne, id, r) { + peg$c316 = { type: "other", description: "CREATE Statement" }, + peg$c317 = { type: "other", description: "CREATE Table" }, + peg$c318 = function(s, tmp, t, ne, id, r) { return util.extend({ 'type': 'statement', 'variant': util.key(s), @@ -975,28 +977,28 @@ module.exports = (function() { 'definition': [] }, r); }, - peg$c317 = function(i, n, e) { + peg$c319 = function(i, n, e) { return { 'type': 'condition', 'condition': util.key(util.compose([i, n, e])) }; }, - peg$c318 = { type: "other", description: "Table Definition" }, - peg$c319 = function(s, t, r) { + peg$c320 = { type: "other", description: "Table Definition" }, + peg$c321 = function(s, t, r) { return { 'definition': util.compose([s, t], []), 'optimization': util.makeArray(r) }; }, - peg$c320 = function(r, w) { + peg$c322 = function(r, w) { return { 'type': 'optimization', 'value': util.key(util.compose([r, w])) }; }, - peg$c321 = function(f) { return f; }, - peg$c322 = { type: "other", description: "Column Definition" }, - peg$c323 = function(n, t, c) { + peg$c323 = function(f) { return f; }, + peg$c324 = { type: "other", description: "Column Definition" }, + peg$c325 = function(n, t, c) { return util.extend({ 'type': 'definition', 'variant': 'column', @@ -1005,27 +1007,27 @@ module.exports = (function() { 'datatype': null }, t); }, - peg$c324 = { type: "other", description: "Column Datatype" }, - peg$c325 = function(t) { + peg$c326 = { type: "other", description: "Column Datatype" }, + peg$c327 = function(t) { return { 'datatype': t }; }, - peg$c326 = { type: "other", description: "Column Constraint" }, - peg$c327 = function(n, c) { + peg$c328 = { type: "other", description: "Column Constraint" }, + peg$c329 = function(n, c) { return util.extend({ 'name': n }, c); }, - peg$c328 = function(f) { + peg$c330 = function(f) { return util.extend({ 'variant': 'foreign key' }, f); }, - peg$c329 = function(p, d, c, a) { + peg$c331 = function(p, d, c, a) { return util.extend(p, c, d, a); }, - peg$c330 = function(s, k) { + peg$c332 = function(s, k) { return { 'type': 'constraint', 'variant': util.key(util.compose([s, k])), @@ -1035,41 +1037,41 @@ module.exports = (function() { 'autoIncrement': false }; }, - peg$c331 = function(d) { + peg$c333 = function(d) { return { 'direction': util.key(d) }; }, - peg$c332 = function(a) { + peg$c334 = function(a) { return { 'autoIncrement': true }; }, - peg$c333 = function(s, c) { + peg$c335 = function(s, c) { return util.extend({ 'type': 'constraint', 'variant': s, 'conflict': null }, c); }, - peg$c334 = function(n, l) { return util.compose([n, l]); }, - peg$c335 = function(s, v) { + peg$c336 = function(n, l) { return util.compose([n, l]); }, + peg$c337 = function(s, v) { return { 'type': 'constraint', 'variant': util.key(s), 'value': v }; }, - peg$c336 = function(v) { return v; }, - peg$c337 = function(c) { + peg$c338 = function(v) { return v; }, + peg$c339 = function(c) { return { 'type': 'constraint', 'variant': 'collate', 'collate': c }; }, - peg$c338 = { type: "other", description: "Table Constraint" }, - peg$c339 = function(n, c) { + peg$c340 = { type: "other", description: "Table Constraint" }, + peg$c341 = function(n, c) { return util.extend({ 'type': 'definition', 'variant': 'constraint', @@ -1077,28 +1079,28 @@ module.exports = (function() { 'definition': null }, c); }, - peg$c340 = function(c) { + peg$c342 = function(c) { return { 'definition': util.makeArray(c) }; }, - peg$c341 = function(k, c, t) { + peg$c343 = function(k, c, t) { return { 'definition': util.makeArray(util.extend(k, t)), 'columns': c }; }, - peg$c342 = function(s) { + peg$c344 = function(s) { return { 'type': 'constraint', 'variant': util.key(s), 'conflict': null }; }, - peg$c343 = function(p, k) { return util.compose([p, k]); }, - peg$c344 = function(u) { return util.textNode(u); }, - peg$c345 = { type: "other", description: "Indexed Column" }, - peg$c346 = function(e, c, d) { + peg$c345 = function(p, k) { return util.compose([p, k]); }, + peg$c346 = function(u) { return util.textNode(u); }, + peg$c347 = { type: "other", description: "Indexed Column" }, + peg$c348 = function(e, c, d) { // TODO: Not final format return { 'type': 'identifier', @@ -1109,25 +1111,25 @@ module.exports = (function() { 'collate': c }; }, - peg$c347 = function(o, c, t) { + peg$c349 = function(o, c, t) { return { 'conflict': util.key(t) }; }, - peg$c348 = function(k, c) { + peg$c350 = function(k, c) { return { 'type': 'constraint', 'variant': util.key(k), 'expression': c }; }, - peg$c349 = function(k, l, c) { + peg$c351 = function(k, l, c) { return util.extend({ 'definition': util.makeArray(util.extend(k, c)), 'columns': null }, l); }, - peg$c350 = function(f, k) { + peg$c352 = function(f, k) { return { 'type': 'constraint', 'variant': util.key(util.compose([f, k])), @@ -1137,47 +1139,47 @@ module.exports = (function() { 'defer': null }; }, - peg$c351 = function(r, a, d) { + peg$c353 = function(r, a, d) { return util.extend({ 'type': 'constraint', 'action': a, 'defer': d }, r); }, - peg$c352 = function(t, c) { + peg$c354 = function(t, c) { // TODO: FORMAT? return util.extend({ 'target': t, 'columns': null }, c); }, - peg$c353 = function(f, b) { return util.collect([f, b], []); }, - peg$c354 = function(m, a, n) { + peg$c355 = function(f, b) { return util.collect([f, b], []); }, + peg$c356 = function(m, a, n) { return { 'type': 'action', 'variant': util.key(m), 'action': n }; }, - peg$c355 = function(s, v) { return util.compose([s, v]); }, - peg$c356 = function(c) { return util.textNode(c); }, - peg$c357 = function(n, a) { return util.compose([n, a]); }, - peg$c358 = function(m, n) { + peg$c357 = function(s, v) { return util.compose([s, v]); }, + peg$c358 = function(c) { return util.textNode(c); }, + peg$c359 = function(n, a) { return util.compose([n, a]); }, + peg$c360 = function(m, n) { return { 'type': 'action', 'variant': util.key(m), 'action': n }; }, - peg$c359 = function(n, d, i) { return util.key(util.compose([n, d, i])); }, - peg$c360 = function(i, d) { return util.compose([i, d]); }, - peg$c361 = function(s) { + peg$c361 = function(n, d, i) { return util.key(util.compose([n, d, i])); }, + peg$c362 = function(i, d) { return util.compose([i, d]); }, + peg$c363 = function(s) { return { 'definition': util.makeArray(s) }; }, - peg$c362 = { type: "other", description: "CREATE Index" }, - peg$c363 = function(s, u, i, ne, n, o, w) { + peg$c364 = { type: "other", description: "CREATE Index" }, + peg$c365 = function(s, u, i, ne, n, o, w) { return util.extend({ 'type': 'statement', 'variant': util.key(s), @@ -1189,19 +1191,19 @@ module.exports = (function() { 'unique': false }, u); }, - peg$c364 = function(u) { + peg$c366 = function(u) { return { 'unique': true }; }, - peg$c365 = function(o, t, c) { + peg$c367 = function(o, t, c) { return { 'target': t, 'columns': c }; }, - peg$c366 = { type: "other", description: "CREATE Trigger" }, - peg$c367 = function(s, p, t, ne, n, cd, o, me, wh, a) { + peg$c368 = { type: "other", description: "CREATE Trigger" }, + peg$c369 = function(s, p, t, ne, n, cd, o, me, wh, a) { return { 'type': 'statement', 'variant': util.key(s), @@ -1216,38 +1218,38 @@ module.exports = (function() { 'action': util.makeArray(a) }; }, - peg$c368 = function(m, d) { + peg$c370 = function(m, d) { return util.extend({ 'type': 'event', 'occurs': null }, m, d); }, - peg$c369 = function(m) { + peg$c371 = function(m) { return { 'occurs': util.key(m) }; }, - peg$c370 = function(i, o) { return util.compose([i, o]); }, - peg$c371 = function(o) { + peg$c372 = function(i, o) { return util.compose([i, o]); }, + peg$c373 = function(o) { return { 'event': util.key(o) }; }, - peg$c372 = function(s, f) { + peg$c374 = function(s, f) { return { 'event': util.key(s), 'of': f }; }, - peg$c373 = function(s, c) { return c; }, - peg$c374 = "statement", - peg$c375 = { type: "literal", value: "STATEMENT", description: "\"STATEMENT\"" }, - peg$c376 = function(f, e, r) { return util.key(r); }, - peg$c377 = function(w, e) { return e; }, - peg$c378 = function(s, a, e) { return a; }, - peg$c379 = function(s, c) { return s; }, - peg$c380 = { type: "other", description: "CREATE View" }, - peg$c381 = function(s, p, v, ne, n, r) { + peg$c375 = function(s, c) { return c; }, + peg$c376 = "statement", + peg$c377 = { type: "literal", value: "STATEMENT", description: "\"STATEMENT\"" }, + peg$c378 = function(f, e, r) { return util.key(r); }, + peg$c379 = function(w, e) { return e; }, + peg$c380 = function(s, a, e) { return a; }, + peg$c381 = function(s, c) { return s; }, + peg$c382 = { type: "other", description: "CREATE View" }, + peg$c383 = function(s, p, v, ne, n, r) { return { 'type': 'statement', 'variant': util.key(s), @@ -1258,8 +1260,8 @@ module.exports = (function() { 'result': r }; }, - peg$c382 = { type: "other", description: "CREATE Virtual Table" }, - peg$c383 = function(s, v, t, ne, n, m, a) { + peg$c384 = { type: "other", description: "CREATE Virtual Table" }, + peg$c385 = function(s, v, t, ne, n, m, a) { return { 'type': 'statement', 'variant': util.key(s), @@ -1273,8 +1275,8 @@ module.exports = (function() { } }; }, - peg$c384 = { type: "other", description: "DROP Statement" }, - peg$c385 = function(s, t, i, q) { + peg$c386 = { type: "other", description: "DROP Statement" }, + peg$c387 = function(s, t, i, q) { return { 'type': 'statement', 'variant': s, @@ -1283,348 +1285,359 @@ module.exports = (function() { 'condition': (util.isOkay(i) ? [i] : []) }; }, - peg$c386 = function(i, e) { + peg$c388 = function(i, e) { return { 'type': 'condition', 'condition': util.key(util.compose([i, e])) }; }, - peg$c387 = /^[a-z0-9\-_]/i, - peg$c388 = { type: "class", value: "[a-z0-9\\-\\_]i", description: "[a-z0-9\\-\\_]i" }, - peg$c389 = /^[a-z0-9\-_ ]/i, - peg$c390 = { type: "class", value: "[a-z0-9\\-\\_ ]i", description: "[a-z0-9\\-\\_ ]i" }, - peg$c391 = "\"", - peg$c392 = { type: "literal", value: "\"", description: "\"\\\"\"" }, - peg$c393 = "`", - peg$c394 = { type: "literal", value: "`", description: "\"`\"" }, - peg$c395 = { type: "other", description: "Open Bracket" }, - peg$c396 = "[", - peg$c397 = { type: "literal", value: "[", description: "\"[\"" }, - peg$c398 = { type: "other", description: "Close Bracket" }, - peg$c399 = "]", - peg$c400 = { type: "literal", value: "]", description: "\"]\"" }, - peg$c401 = { type: "other", description: "Open Parenthesis" }, - peg$c402 = "(", - peg$c403 = { type: "literal", value: "(", description: "\"(\"" }, - peg$c404 = { type: "other", description: "Close Parenthesis" }, - peg$c405 = ")", - peg$c406 = { type: "literal", value: ")", description: "\")\"" }, - peg$c407 = { type: "other", description: "Comma" }, - peg$c408 = ",", - peg$c409 = { type: "literal", value: ",", description: "\",\"" }, - peg$c410 = { type: "other", description: "Period" }, - peg$c411 = ".", - peg$c412 = { type: "literal", value: ".", description: "\".\"" }, - peg$c413 = { type: "other", description: "Asterisk" }, - peg$c414 = "*", - peg$c415 = { type: "literal", value: "*", description: "\"*\"" }, - peg$c416 = { type: "other", description: "Question Mark" }, - peg$c417 = "?", - peg$c418 = { type: "literal", value: "?", description: "\"?\"" }, - peg$c419 = { type: "other", description: "Single Quote" }, - peg$c420 = "'", - peg$c421 = { type: "literal", value: "'", description: "\"'\"" }, - peg$c422 = { type: "other", description: "Double Quote" }, - peg$c423 = { type: "other", description: "Backtick" }, - peg$c424 = { type: "other", description: "Tilde" }, - peg$c425 = "~", - peg$c426 = { type: "literal", value: "~", description: "\"~\"" }, - peg$c427 = { type: "other", description: "Plus" }, - peg$c428 = "+", - peg$c429 = { type: "literal", value: "+", description: "\"+\"" }, - peg$c430 = { type: "other", description: "Minus" }, - peg$c431 = "-", - peg$c432 = { type: "literal", value: "-", description: "\"-\"" }, - peg$c433 = "=", - peg$c434 = { type: "literal", value: "=", description: "\"=\"" }, - peg$c435 = { type: "other", description: "Ampersand" }, - peg$c436 = "&", - peg$c437 = { type: "literal", value: "&", description: "\"&\"" }, - peg$c438 = { type: "other", description: "Pipe" }, - peg$c439 = "|", - peg$c440 = { type: "literal", value: "|", description: "\"|\"" }, - peg$c441 = "%", - peg$c442 = { type: "literal", value: "%", description: "\"%\"" }, - peg$c443 = "<", - peg$c444 = { type: "literal", value: "<", description: "\"<\"" }, - peg$c445 = ">", - peg$c446 = { type: "literal", value: ">", description: "\">\"" }, - peg$c447 = { type: "other", description: "Exclamation" }, - peg$c448 = "!", - peg$c449 = { type: "literal", value: "!", description: "\"!\"" }, - peg$c450 = { type: "other", description: "Semicolon" }, - peg$c451 = ";", - peg$c452 = { type: "literal", value: ";", description: "\";\"" }, - peg$c453 = { type: "other", description: "Colon" }, - peg$c454 = { type: "other", description: "Forward Slash" }, - peg$c455 = "/", - peg$c456 = { type: "literal", value: "/", description: "\"/\"" }, - peg$c457 = { type: "other", description: "Backslash" }, - peg$c458 = "\\", - peg$c459 = { type: "literal", value: "\\", description: "\"\\\\\"" }, - peg$c460 = "abort", - peg$c461 = { type: "literal", value: "ABORT", description: "\"ABORT\"" }, - peg$c462 = "action", - peg$c463 = { type: "literal", value: "ACTION", description: "\"ACTION\"" }, - peg$c464 = "add", - peg$c465 = { type: "literal", value: "ADD", description: "\"ADD\"" }, - peg$c466 = "after", - peg$c467 = { type: "literal", value: "AFTER", description: "\"AFTER\"" }, - peg$c468 = "all", - peg$c469 = { type: "literal", value: "ALL", description: "\"ALL\"" }, - peg$c470 = "alter", - peg$c471 = { type: "literal", value: "ALTER", description: "\"ALTER\"" }, - peg$c472 = "analyze", - peg$c473 = { type: "literal", value: "ANALYZE", description: "\"ANALYZE\"" }, - peg$c474 = "and", - peg$c475 = { type: "literal", value: "AND", description: "\"AND\"" }, - peg$c476 = "as", - peg$c477 = { type: "literal", value: "AS", description: "\"AS\"" }, - peg$c478 = "asc", - peg$c479 = { type: "literal", value: "ASC", description: "\"ASC\"" }, - peg$c480 = "attach", - peg$c481 = { type: "literal", value: "ATTACH", description: "\"ATTACH\"" }, - peg$c482 = "autoincrement", - peg$c483 = { type: "literal", value: "AUTOINCREMENT", description: "\"AUTOINCREMENT\"" }, - peg$c484 = "before", - peg$c485 = { type: "literal", value: "BEFORE", description: "\"BEFORE\"" }, - peg$c486 = "begin", - peg$c487 = { type: "literal", value: "BEGIN", description: "\"BEGIN\"" }, - peg$c488 = "between", - peg$c489 = { type: "literal", value: "BETWEEN", description: "\"BETWEEN\"" }, - peg$c490 = "by", - peg$c491 = { type: "literal", value: "BY", description: "\"BY\"" }, - peg$c492 = "cascade", - peg$c493 = { type: "literal", value: "CASCADE", description: "\"CASCADE\"" }, - peg$c494 = "case", - peg$c495 = { type: "literal", value: "CASE", description: "\"CASE\"" }, - peg$c496 = "cast", - peg$c497 = { type: "literal", value: "CAST", description: "\"CAST\"" }, - peg$c498 = "check", - peg$c499 = { type: "literal", value: "CHECK", description: "\"CHECK\"" }, - peg$c500 = "collate", - peg$c501 = { type: "literal", value: "COLLATE", description: "\"COLLATE\"" }, - peg$c502 = "column", - peg$c503 = { type: "literal", value: "COLUMN", description: "\"COLUMN\"" }, - peg$c504 = "commit", - peg$c505 = { type: "literal", value: "COMMIT", description: "\"COMMIT\"" }, - peg$c506 = "conflict", - peg$c507 = { type: "literal", value: "CONFLICT", description: "\"CONFLICT\"" }, - peg$c508 = "constraint", - peg$c509 = { type: "literal", value: "CONSTRAINT", description: "\"CONSTRAINT\"" }, - peg$c510 = "create", - peg$c511 = { type: "literal", value: "CREATE", description: "\"CREATE\"" }, - peg$c512 = "cross", - peg$c513 = { type: "literal", value: "CROSS", description: "\"CROSS\"" }, - peg$c514 = "current_date", - peg$c515 = { type: "literal", value: "CURRENT_DATE", description: "\"CURRENT_DATE\"" }, - peg$c516 = "current_time", - peg$c517 = { type: "literal", value: "CURRENT_TIME", description: "\"CURRENT_TIME\"" }, - peg$c518 = "current_timestamp", - peg$c519 = { type: "literal", value: "CURRENT_TIMESTAMP", description: "\"CURRENT_TIMESTAMP\"" }, - peg$c520 = "database", - peg$c521 = { type: "literal", value: "DATABASE", description: "\"DATABASE\"" }, - peg$c522 = "default", - peg$c523 = { type: "literal", value: "DEFAULT", description: "\"DEFAULT\"" }, - peg$c524 = "deferrable", - peg$c525 = { type: "literal", value: "DEFERRABLE", description: "\"DEFERRABLE\"" }, - peg$c526 = "deferred", - peg$c527 = { type: "literal", value: "DEFERRED", description: "\"DEFERRED\"" }, - peg$c528 = "delete", - peg$c529 = { type: "literal", value: "DELETE", description: "\"DELETE\"" }, - peg$c530 = "desc", - peg$c531 = { type: "literal", value: "DESC", description: "\"DESC\"" }, - peg$c532 = "detach", - peg$c533 = { type: "literal", value: "DETACH", description: "\"DETACH\"" }, - peg$c534 = "distinct", - peg$c535 = { type: "literal", value: "DISTINCT", description: "\"DISTINCT\"" }, - peg$c536 = "drop", - peg$c537 = { type: "literal", value: "DROP", description: "\"DROP\"" }, - peg$c538 = "each", - peg$c539 = { type: "literal", value: "EACH", description: "\"EACH\"" }, - peg$c540 = "else", - peg$c541 = { type: "literal", value: "ELSE", description: "\"ELSE\"" }, - peg$c542 = "end", - peg$c543 = { type: "literal", value: "END", description: "\"END\"" }, - peg$c544 = "escape", - peg$c545 = { type: "literal", value: "ESCAPE", description: "\"ESCAPE\"" }, - peg$c546 = "except", - peg$c547 = { type: "literal", value: "EXCEPT", description: "\"EXCEPT\"" }, - peg$c548 = "exclusive", - peg$c549 = { type: "literal", value: "EXCLUSIVE", description: "\"EXCLUSIVE\"" }, - peg$c550 = "exists", - peg$c551 = { type: "literal", value: "EXISTS", description: "\"EXISTS\"" }, - peg$c552 = "explain", - peg$c553 = { type: "literal", value: "EXPLAIN", description: "\"EXPLAIN\"" }, - peg$c554 = "fail", - peg$c555 = { type: "literal", value: "FAIL", description: "\"FAIL\"" }, - peg$c556 = "for", - peg$c557 = { type: "literal", value: "FOR", description: "\"FOR\"" }, - peg$c558 = "foreign", - peg$c559 = { type: "literal", value: "FOREIGN", description: "\"FOREIGN\"" }, - peg$c560 = "from", - peg$c561 = { type: "literal", value: "FROM", description: "\"FROM\"" }, - peg$c562 = "full", - peg$c563 = { type: "literal", value: "FULL", description: "\"FULL\"" }, - peg$c564 = "glob", - peg$c565 = { type: "literal", value: "GLOB", description: "\"GLOB\"" }, - peg$c566 = "group", - peg$c567 = { type: "literal", value: "GROUP", description: "\"GROUP\"" }, - peg$c568 = "having", - peg$c569 = { type: "literal", value: "HAVING", description: "\"HAVING\"" }, - peg$c570 = "if", - peg$c571 = { type: "literal", value: "IF", description: "\"IF\"" }, - peg$c572 = "ignore", - peg$c573 = { type: "literal", value: "IGNORE", description: "\"IGNORE\"" }, - peg$c574 = "immediate", - peg$c575 = { type: "literal", value: "IMMEDIATE", description: "\"IMMEDIATE\"" }, - peg$c576 = "in", - peg$c577 = { type: "literal", value: "IN", description: "\"IN\"" }, - peg$c578 = "index", - peg$c579 = { type: "literal", value: "INDEX", description: "\"INDEX\"" }, - peg$c580 = "indexed", - peg$c581 = { type: "literal", value: "INDEXED", description: "\"INDEXED\"" }, - peg$c582 = "initially", - peg$c583 = { type: "literal", value: "INITIALLY", description: "\"INITIALLY\"" }, - peg$c584 = "inner", - peg$c585 = { type: "literal", value: "INNER", description: "\"INNER\"" }, - peg$c586 = "insert", - peg$c587 = { type: "literal", value: "INSERT", description: "\"INSERT\"" }, - peg$c588 = "instead", - peg$c589 = { type: "literal", value: "INSTEAD", description: "\"INSTEAD\"" }, - peg$c590 = "intersect", - peg$c591 = { type: "literal", value: "INTERSECT", description: "\"INTERSECT\"" }, - peg$c592 = "into", - peg$c593 = { type: "literal", value: "INTO", description: "\"INTO\"" }, - peg$c594 = "is", - peg$c595 = { type: "literal", value: "IS", description: "\"IS\"" }, - peg$c596 = "isnull", - peg$c597 = { type: "literal", value: "ISNULL", description: "\"ISNULL\"" }, - peg$c598 = "join", - peg$c599 = { type: "literal", value: "JOIN", description: "\"JOIN\"" }, - peg$c600 = "key", - peg$c601 = { type: "literal", value: "KEY", description: "\"KEY\"" }, - peg$c602 = "left", - peg$c603 = { type: "literal", value: "LEFT", description: "\"LEFT\"" }, - peg$c604 = "like", - peg$c605 = { type: "literal", value: "LIKE", description: "\"LIKE\"" }, - peg$c606 = "limit", - peg$c607 = { type: "literal", value: "LIMIT", description: "\"LIMIT\"" }, - peg$c608 = "match", - peg$c609 = { type: "literal", value: "MATCH", description: "\"MATCH\"" }, - peg$c610 = "natural", - peg$c611 = { type: "literal", value: "NATURAL", description: "\"NATURAL\"" }, - peg$c612 = "no", - peg$c613 = { type: "literal", value: "NO", description: "\"NO\"" }, - peg$c614 = "not", - peg$c615 = { type: "literal", value: "NOT", description: "\"NOT\"" }, - peg$c616 = "notnull", - peg$c617 = { type: "literal", value: "NOTNULL", description: "\"NOTNULL\"" }, - peg$c618 = "null", - peg$c619 = { type: "literal", value: "NULL", description: "\"NULL\"" }, - peg$c620 = "of", - peg$c621 = { type: "literal", value: "OF", description: "\"OF\"" }, - peg$c622 = "offset", - peg$c623 = { type: "literal", value: "OFFSET", description: "\"OFFSET\"" }, - peg$c624 = "on", - peg$c625 = { type: "literal", value: "ON", description: "\"ON\"" }, - peg$c626 = "or", - peg$c627 = { type: "literal", value: "OR", description: "\"OR\"" }, - peg$c628 = "order", - peg$c629 = { type: "literal", value: "ORDER", description: "\"ORDER\"" }, - peg$c630 = "outer", - peg$c631 = { type: "literal", value: "OUTER", description: "\"OUTER\"" }, - peg$c632 = "plan", - peg$c633 = { type: "literal", value: "PLAN", description: "\"PLAN\"" }, - peg$c634 = "pragma", - peg$c635 = { type: "literal", value: "PRAGMA", description: "\"PRAGMA\"" }, - peg$c636 = "primary", - peg$c637 = { type: "literal", value: "PRIMARY", description: "\"PRIMARY\"" }, - peg$c638 = "query", - peg$c639 = { type: "literal", value: "QUERY", description: "\"QUERY\"" }, - peg$c640 = "raise", - peg$c641 = { type: "literal", value: "RAISE", description: "\"RAISE\"" }, - peg$c642 = "recursive", - peg$c643 = { type: "literal", value: "RECURSIVE", description: "\"RECURSIVE\"" }, - peg$c644 = "references", - peg$c645 = { type: "literal", value: "REFERENCES", description: "\"REFERENCES\"" }, - peg$c646 = "regexp", - peg$c647 = { type: "literal", value: "REGEXP", description: "\"REGEXP\"" }, - peg$c648 = "reindex", - peg$c649 = { type: "literal", value: "REINDEX", description: "\"REINDEX\"" }, - peg$c650 = "release", - peg$c651 = { type: "literal", value: "RELEASE", description: "\"RELEASE\"" }, - peg$c652 = "rename", - peg$c653 = { type: "literal", value: "RENAME", description: "\"RENAME\"" }, - peg$c654 = "replace", - peg$c655 = { type: "literal", value: "REPLACE", description: "\"REPLACE\"" }, - peg$c656 = "restrict", - peg$c657 = { type: "literal", value: "RESTRICT", description: "\"RESTRICT\"" }, - peg$c658 = "right", - peg$c659 = { type: "literal", value: "RIGHT", description: "\"RIGHT\"" }, - peg$c660 = "rollback", - peg$c661 = { type: "literal", value: "ROLLBACK", description: "\"ROLLBACK\"" }, - peg$c662 = "row", - peg$c663 = { type: "literal", value: "ROW", description: "\"ROW\"" }, - peg$c664 = "rowid", - peg$c665 = { type: "literal", value: "ROWID", description: "\"ROWID\"" }, - peg$c666 = "savepoint", - peg$c667 = { type: "literal", value: "SAVEPOINT", description: "\"SAVEPOINT\"" }, - peg$c668 = "select", - peg$c669 = { type: "literal", value: "SELECT", description: "\"SELECT\"" }, - peg$c670 = "set", - peg$c671 = { type: "literal", value: "SET", description: "\"SET\"" }, - peg$c672 = "table", - peg$c673 = { type: "literal", value: "TABLE", description: "\"TABLE\"" }, - peg$c674 = "temp", - peg$c675 = { type: "literal", value: "TEMP", description: "\"TEMP\"" }, - peg$c676 = "temporary", - peg$c677 = { type: "literal", value: "TEMPORARY", description: "\"TEMPORARY\"" }, - peg$c678 = "then", - peg$c679 = { type: "literal", value: "THEN", description: "\"THEN\"" }, - peg$c680 = "to", - peg$c681 = { type: "literal", value: "TO", description: "\"TO\"" }, - peg$c682 = "transaction", - peg$c683 = { type: "literal", value: "TRANSACTION", description: "\"TRANSACTION\"" }, - peg$c684 = "trigger", - peg$c685 = { type: "literal", value: "TRIGGER", description: "\"TRIGGER\"" }, - peg$c686 = "union", - peg$c687 = { type: "literal", value: "UNION", description: "\"UNION\"" }, - peg$c688 = "unique", - peg$c689 = { type: "literal", value: "UNIQUE", description: "\"UNIQUE\"" }, - peg$c690 = "update", - peg$c691 = { type: "literal", value: "UPDATE", description: "\"UPDATE\"" }, - peg$c692 = "using", - peg$c693 = { type: "literal", value: "USING", description: "\"USING\"" }, - peg$c694 = "vacuum", - peg$c695 = { type: "literal", value: "VACUUM", description: "\"VACUUM\"" }, - peg$c696 = "values", - peg$c697 = { type: "literal", value: "VALUES", description: "\"VALUES\"" }, - peg$c698 = "view", - peg$c699 = { type: "literal", value: "VIEW", description: "\"VIEW\"" }, - peg$c700 = "virtual", - peg$c701 = { type: "literal", value: "VIRTUAL", description: "\"VIRTUAL\"" }, - peg$c702 = "when", - peg$c703 = { type: "literal", value: "WHEN", description: "\"WHEN\"" }, - peg$c704 = "where", - peg$c705 = { type: "literal", value: "WHERE", description: "\"WHERE\"" }, - peg$c706 = "with", - peg$c707 = { type: "literal", value: "WITH", description: "\"WITH\"" }, - peg$c708 = "without", - peg$c709 = { type: "literal", value: "WITHOUT", description: "\"WITHOUT\"" }, - peg$c710 = function(r) { return util.key(r); }, - peg$c711 = { type: "other", description: "SQL Line Comment" }, - peg$c712 = { type: "other", description: "SQL Block Comment" }, - peg$c713 = { type: "other", description: "Anything" }, - peg$c714 = { type: "any", description: "any character" }, - peg$c715 = { type: "other", description: "Whitespace" }, - peg$c716 = /^[ \t]/, - peg$c717 = { type: "class", value: "[ \\t]", description: "[ \\t]" }, - peg$c718 = { type: "other", description: "New Line" }, - peg$c719 = /^[\n\x0B\f\r]/, - peg$c720 = { type: "class", value: "[\\n\\v\\f\\r]", description: "[\\n\\v\\f\\r]" }, - peg$c721 = "__TODO__", - peg$c722 = { type: "literal", value: "__TODO__", description: "\"__TODO__\"" }, + peg$c389 = /^[a-z0-9\-_]/i, + peg$c390 = { type: "class", value: "[a-z0-9\\-\\_]i", description: "[a-z0-9\\-\\_]i" }, + peg$c391 = function(r) { return util.textNode(r); }, + peg$c392 = "]", + peg$c393 = { type: "literal", value: "]", description: "\"]\"" }, + peg$c394 = /^[^\]]/, + peg$c395 = { type: "class", value: "[^\\]]", description: "[^\\]]" }, + peg$c396 = "\"", + peg$c397 = { type: "literal", value: "\"", description: "\"\\\"\"" }, + peg$c398 = function(n) { return util.unescape(util.nodeToString(n), '"'); }, + peg$c399 = "\"\"", + peg$c400 = { type: "literal", value: "\"\"", description: "\"\\\"\\\"\"" }, + peg$c401 = /^[^"]/, + peg$c402 = { type: "class", value: "[^\\\"]", description: "[^\\\"]" }, + peg$c403 = "`", + peg$c404 = { type: "literal", value: "`", description: "\"`\"" }, + peg$c405 = function(n) { return util.unescape(util.nodeToString(n), '`'); }, + peg$c406 = "``", + peg$c407 = { type: "literal", value: "``", description: "\"``\"" }, + peg$c408 = /^[^`]/, + peg$c409 = { type: "class", value: "[^\\`]", description: "[^\\`]" }, + peg$c410 = { type: "other", description: "Open Bracket" }, + peg$c411 = "[", + peg$c412 = { type: "literal", value: "[", description: "\"[\"" }, + peg$c413 = { type: "other", description: "Close Bracket" }, + peg$c414 = { type: "other", description: "Open Parenthesis" }, + peg$c415 = "(", + peg$c416 = { type: "literal", value: "(", description: "\"(\"" }, + peg$c417 = { type: "other", description: "Close Parenthesis" }, + peg$c418 = ")", + peg$c419 = { type: "literal", value: ")", description: "\")\"" }, + peg$c420 = { type: "other", description: "Comma" }, + peg$c421 = ",", + peg$c422 = { type: "literal", value: ",", description: "\",\"" }, + peg$c423 = { type: "other", description: "Period" }, + peg$c424 = ".", + peg$c425 = { type: "literal", value: ".", description: "\".\"" }, + peg$c426 = { type: "other", description: "Asterisk" }, + peg$c427 = "*", + peg$c428 = { type: "literal", value: "*", description: "\"*\"" }, + peg$c429 = { type: "other", description: "Question Mark" }, + peg$c430 = "?", + peg$c431 = { type: "literal", value: "?", description: "\"?\"" }, + peg$c432 = { type: "other", description: "Single Quote" }, + peg$c433 = "'", + peg$c434 = { type: "literal", value: "'", description: "\"'\"" }, + peg$c435 = { type: "other", description: "Double Quote" }, + peg$c436 = { type: "other", description: "Backtick" }, + peg$c437 = { type: "other", description: "Tilde" }, + peg$c438 = "~", + peg$c439 = { type: "literal", value: "~", description: "\"~\"" }, + peg$c440 = { type: "other", description: "Plus" }, + peg$c441 = "+", + peg$c442 = { type: "literal", value: "+", description: "\"+\"" }, + peg$c443 = { type: "other", description: "Minus" }, + peg$c444 = "-", + peg$c445 = { type: "literal", value: "-", description: "\"-\"" }, + peg$c446 = "=", + peg$c447 = { type: "literal", value: "=", description: "\"=\"" }, + peg$c448 = { type: "other", description: "Ampersand" }, + peg$c449 = "&", + peg$c450 = { type: "literal", value: "&", description: "\"&\"" }, + peg$c451 = { type: "other", description: "Pipe" }, + peg$c452 = "|", + peg$c453 = { type: "literal", value: "|", description: "\"|\"" }, + peg$c454 = "%", + peg$c455 = { type: "literal", value: "%", description: "\"%\"" }, + peg$c456 = "<", + peg$c457 = { type: "literal", value: "<", description: "\"<\"" }, + peg$c458 = ">", + peg$c459 = { type: "literal", value: ">", description: "\">\"" }, + peg$c460 = { type: "other", description: "Exclamation" }, + peg$c461 = "!", + peg$c462 = { type: "literal", value: "!", description: "\"!\"" }, + peg$c463 = { type: "other", description: "Semicolon" }, + peg$c464 = ";", + peg$c465 = { type: "literal", value: ";", description: "\";\"" }, + peg$c466 = { type: "other", description: "Colon" }, + peg$c467 = { type: "other", description: "Forward Slash" }, + peg$c468 = "/", + peg$c469 = { type: "literal", value: "/", description: "\"/\"" }, + peg$c470 = { type: "other", description: "Backslash" }, + peg$c471 = "\\", + peg$c472 = { type: "literal", value: "\\", description: "\"\\\\\"" }, + peg$c473 = "abort", + peg$c474 = { type: "literal", value: "ABORT", description: "\"ABORT\"" }, + peg$c475 = "action", + peg$c476 = { type: "literal", value: "ACTION", description: "\"ACTION\"" }, + peg$c477 = "add", + peg$c478 = { type: "literal", value: "ADD", description: "\"ADD\"" }, + peg$c479 = "after", + peg$c480 = { type: "literal", value: "AFTER", description: "\"AFTER\"" }, + peg$c481 = "all", + peg$c482 = { type: "literal", value: "ALL", description: "\"ALL\"" }, + peg$c483 = "alter", + peg$c484 = { type: "literal", value: "ALTER", description: "\"ALTER\"" }, + peg$c485 = "analyze", + peg$c486 = { type: "literal", value: "ANALYZE", description: "\"ANALYZE\"" }, + peg$c487 = "and", + peg$c488 = { type: "literal", value: "AND", description: "\"AND\"" }, + peg$c489 = "as", + peg$c490 = { type: "literal", value: "AS", description: "\"AS\"" }, + peg$c491 = "asc", + peg$c492 = { type: "literal", value: "ASC", description: "\"ASC\"" }, + peg$c493 = "attach", + peg$c494 = { type: "literal", value: "ATTACH", description: "\"ATTACH\"" }, + peg$c495 = "autoincrement", + peg$c496 = { type: "literal", value: "AUTOINCREMENT", description: "\"AUTOINCREMENT\"" }, + peg$c497 = "before", + peg$c498 = { type: "literal", value: "BEFORE", description: "\"BEFORE\"" }, + peg$c499 = "begin", + peg$c500 = { type: "literal", value: "BEGIN", description: "\"BEGIN\"" }, + peg$c501 = "between", + peg$c502 = { type: "literal", value: "BETWEEN", description: "\"BETWEEN\"" }, + peg$c503 = "by", + peg$c504 = { type: "literal", value: "BY", description: "\"BY\"" }, + peg$c505 = "cascade", + peg$c506 = { type: "literal", value: "CASCADE", description: "\"CASCADE\"" }, + peg$c507 = "case", + peg$c508 = { type: "literal", value: "CASE", description: "\"CASE\"" }, + peg$c509 = "cast", + peg$c510 = { type: "literal", value: "CAST", description: "\"CAST\"" }, + peg$c511 = "check", + peg$c512 = { type: "literal", value: "CHECK", description: "\"CHECK\"" }, + peg$c513 = "collate", + peg$c514 = { type: "literal", value: "COLLATE", description: "\"COLLATE\"" }, + peg$c515 = "column", + peg$c516 = { type: "literal", value: "COLUMN", description: "\"COLUMN\"" }, + peg$c517 = "commit", + peg$c518 = { type: "literal", value: "COMMIT", description: "\"COMMIT\"" }, + peg$c519 = "conflict", + peg$c520 = { type: "literal", value: "CONFLICT", description: "\"CONFLICT\"" }, + peg$c521 = "constraint", + peg$c522 = { type: "literal", value: "CONSTRAINT", description: "\"CONSTRAINT\"" }, + peg$c523 = "create", + peg$c524 = { type: "literal", value: "CREATE", description: "\"CREATE\"" }, + peg$c525 = "cross", + peg$c526 = { type: "literal", value: "CROSS", description: "\"CROSS\"" }, + peg$c527 = "current_date", + peg$c528 = { type: "literal", value: "CURRENT_DATE", description: "\"CURRENT_DATE\"" }, + peg$c529 = "current_time", + peg$c530 = { type: "literal", value: "CURRENT_TIME", description: "\"CURRENT_TIME\"" }, + peg$c531 = "current_timestamp", + peg$c532 = { type: "literal", value: "CURRENT_TIMESTAMP", description: "\"CURRENT_TIMESTAMP\"" }, + peg$c533 = "database", + peg$c534 = { type: "literal", value: "DATABASE", description: "\"DATABASE\"" }, + peg$c535 = "default", + peg$c536 = { type: "literal", value: "DEFAULT", description: "\"DEFAULT\"" }, + peg$c537 = "deferrable", + peg$c538 = { type: "literal", value: "DEFERRABLE", description: "\"DEFERRABLE\"" }, + peg$c539 = "deferred", + peg$c540 = { type: "literal", value: "DEFERRED", description: "\"DEFERRED\"" }, + peg$c541 = "delete", + peg$c542 = { type: "literal", value: "DELETE", description: "\"DELETE\"" }, + peg$c543 = "desc", + peg$c544 = { type: "literal", value: "DESC", description: "\"DESC\"" }, + peg$c545 = "detach", + peg$c546 = { type: "literal", value: "DETACH", description: "\"DETACH\"" }, + peg$c547 = "distinct", + peg$c548 = { type: "literal", value: "DISTINCT", description: "\"DISTINCT\"" }, + peg$c549 = "drop", + peg$c550 = { type: "literal", value: "DROP", description: "\"DROP\"" }, + peg$c551 = "each", + peg$c552 = { type: "literal", value: "EACH", description: "\"EACH\"" }, + peg$c553 = "else", + peg$c554 = { type: "literal", value: "ELSE", description: "\"ELSE\"" }, + peg$c555 = "end", + peg$c556 = { type: "literal", value: "END", description: "\"END\"" }, + peg$c557 = "escape", + peg$c558 = { type: "literal", value: "ESCAPE", description: "\"ESCAPE\"" }, + peg$c559 = "except", + peg$c560 = { type: "literal", value: "EXCEPT", description: "\"EXCEPT\"" }, + peg$c561 = "exclusive", + peg$c562 = { type: "literal", value: "EXCLUSIVE", description: "\"EXCLUSIVE\"" }, + peg$c563 = "exists", + peg$c564 = { type: "literal", value: "EXISTS", description: "\"EXISTS\"" }, + peg$c565 = "explain", + peg$c566 = { type: "literal", value: "EXPLAIN", description: "\"EXPLAIN\"" }, + peg$c567 = "fail", + peg$c568 = { type: "literal", value: "FAIL", description: "\"FAIL\"" }, + peg$c569 = "for", + peg$c570 = { type: "literal", value: "FOR", description: "\"FOR\"" }, + peg$c571 = "foreign", + peg$c572 = { type: "literal", value: "FOREIGN", description: "\"FOREIGN\"" }, + peg$c573 = "from", + peg$c574 = { type: "literal", value: "FROM", description: "\"FROM\"" }, + peg$c575 = "full", + peg$c576 = { type: "literal", value: "FULL", description: "\"FULL\"" }, + peg$c577 = "glob", + peg$c578 = { type: "literal", value: "GLOB", description: "\"GLOB\"" }, + peg$c579 = "group", + peg$c580 = { type: "literal", value: "GROUP", description: "\"GROUP\"" }, + peg$c581 = "having", + peg$c582 = { type: "literal", value: "HAVING", description: "\"HAVING\"" }, + peg$c583 = "if", + peg$c584 = { type: "literal", value: "IF", description: "\"IF\"" }, + peg$c585 = "ignore", + peg$c586 = { type: "literal", value: "IGNORE", description: "\"IGNORE\"" }, + peg$c587 = "immediate", + peg$c588 = { type: "literal", value: "IMMEDIATE", description: "\"IMMEDIATE\"" }, + peg$c589 = "in", + peg$c590 = { type: "literal", value: "IN", description: "\"IN\"" }, + peg$c591 = "index", + peg$c592 = { type: "literal", value: "INDEX", description: "\"INDEX\"" }, + peg$c593 = "indexed", + peg$c594 = { type: "literal", value: "INDEXED", description: "\"INDEXED\"" }, + peg$c595 = "initially", + peg$c596 = { type: "literal", value: "INITIALLY", description: "\"INITIALLY\"" }, + peg$c597 = "inner", + peg$c598 = { type: "literal", value: "INNER", description: "\"INNER\"" }, + peg$c599 = "insert", + peg$c600 = { type: "literal", value: "INSERT", description: "\"INSERT\"" }, + peg$c601 = "instead", + peg$c602 = { type: "literal", value: "INSTEAD", description: "\"INSTEAD\"" }, + peg$c603 = "intersect", + peg$c604 = { type: "literal", value: "INTERSECT", description: "\"INTERSECT\"" }, + peg$c605 = "into", + peg$c606 = { type: "literal", value: "INTO", description: "\"INTO\"" }, + peg$c607 = "is", + peg$c608 = { type: "literal", value: "IS", description: "\"IS\"" }, + peg$c609 = "isnull", + peg$c610 = { type: "literal", value: "ISNULL", description: "\"ISNULL\"" }, + peg$c611 = "join", + peg$c612 = { type: "literal", value: "JOIN", description: "\"JOIN\"" }, + peg$c613 = "key", + peg$c614 = { type: "literal", value: "KEY", description: "\"KEY\"" }, + peg$c615 = "left", + peg$c616 = { type: "literal", value: "LEFT", description: "\"LEFT\"" }, + peg$c617 = "like", + peg$c618 = { type: "literal", value: "LIKE", description: "\"LIKE\"" }, + peg$c619 = "limit", + peg$c620 = { type: "literal", value: "LIMIT", description: "\"LIMIT\"" }, + peg$c621 = "match", + peg$c622 = { type: "literal", value: "MATCH", description: "\"MATCH\"" }, + peg$c623 = "natural", + peg$c624 = { type: "literal", value: "NATURAL", description: "\"NATURAL\"" }, + peg$c625 = "no", + peg$c626 = { type: "literal", value: "NO", description: "\"NO\"" }, + peg$c627 = "not", + peg$c628 = { type: "literal", value: "NOT", description: "\"NOT\"" }, + peg$c629 = "notnull", + peg$c630 = { type: "literal", value: "NOTNULL", description: "\"NOTNULL\"" }, + peg$c631 = "null", + peg$c632 = { type: "literal", value: "NULL", description: "\"NULL\"" }, + peg$c633 = "of", + peg$c634 = { type: "literal", value: "OF", description: "\"OF\"" }, + peg$c635 = "offset", + peg$c636 = { type: "literal", value: "OFFSET", description: "\"OFFSET\"" }, + peg$c637 = "on", + peg$c638 = { type: "literal", value: "ON", description: "\"ON\"" }, + peg$c639 = "or", + peg$c640 = { type: "literal", value: "OR", description: "\"OR\"" }, + peg$c641 = "order", + peg$c642 = { type: "literal", value: "ORDER", description: "\"ORDER\"" }, + peg$c643 = "outer", + peg$c644 = { type: "literal", value: "OUTER", description: "\"OUTER\"" }, + peg$c645 = "plan", + peg$c646 = { type: "literal", value: "PLAN", description: "\"PLAN\"" }, + peg$c647 = "pragma", + peg$c648 = { type: "literal", value: "PRAGMA", description: "\"PRAGMA\"" }, + peg$c649 = "primary", + peg$c650 = { type: "literal", value: "PRIMARY", description: "\"PRIMARY\"" }, + peg$c651 = "query", + peg$c652 = { type: "literal", value: "QUERY", description: "\"QUERY\"" }, + peg$c653 = "raise", + peg$c654 = { type: "literal", value: "RAISE", description: "\"RAISE\"" }, + peg$c655 = "recursive", + peg$c656 = { type: "literal", value: "RECURSIVE", description: "\"RECURSIVE\"" }, + peg$c657 = "references", + peg$c658 = { type: "literal", value: "REFERENCES", description: "\"REFERENCES\"" }, + peg$c659 = "regexp", + peg$c660 = { type: "literal", value: "REGEXP", description: "\"REGEXP\"" }, + peg$c661 = "reindex", + peg$c662 = { type: "literal", value: "REINDEX", description: "\"REINDEX\"" }, + peg$c663 = "release", + peg$c664 = { type: "literal", value: "RELEASE", description: "\"RELEASE\"" }, + peg$c665 = "rename", + peg$c666 = { type: "literal", value: "RENAME", description: "\"RENAME\"" }, + peg$c667 = "replace", + peg$c668 = { type: "literal", value: "REPLACE", description: "\"REPLACE\"" }, + peg$c669 = "restrict", + peg$c670 = { type: "literal", value: "RESTRICT", description: "\"RESTRICT\"" }, + peg$c671 = "right", + peg$c672 = { type: "literal", value: "RIGHT", description: "\"RIGHT\"" }, + peg$c673 = "rollback", + peg$c674 = { type: "literal", value: "ROLLBACK", description: "\"ROLLBACK\"" }, + peg$c675 = "row", + peg$c676 = { type: "literal", value: "ROW", description: "\"ROW\"" }, + peg$c677 = "rowid", + peg$c678 = { type: "literal", value: "ROWID", description: "\"ROWID\"" }, + peg$c679 = "savepoint", + peg$c680 = { type: "literal", value: "SAVEPOINT", description: "\"SAVEPOINT\"" }, + peg$c681 = "select", + peg$c682 = { type: "literal", value: "SELECT", description: "\"SELECT\"" }, + peg$c683 = "set", + peg$c684 = { type: "literal", value: "SET", description: "\"SET\"" }, + peg$c685 = "table", + peg$c686 = { type: "literal", value: "TABLE", description: "\"TABLE\"" }, + peg$c687 = "temp", + peg$c688 = { type: "literal", value: "TEMP", description: "\"TEMP\"" }, + peg$c689 = "temporary", + peg$c690 = { type: "literal", value: "TEMPORARY", description: "\"TEMPORARY\"" }, + peg$c691 = "then", + peg$c692 = { type: "literal", value: "THEN", description: "\"THEN\"" }, + peg$c693 = "to", + peg$c694 = { type: "literal", value: "TO", description: "\"TO\"" }, + peg$c695 = "transaction", + peg$c696 = { type: "literal", value: "TRANSACTION", description: "\"TRANSACTION\"" }, + peg$c697 = "trigger", + peg$c698 = { type: "literal", value: "TRIGGER", description: "\"TRIGGER\"" }, + peg$c699 = "union", + peg$c700 = { type: "literal", value: "UNION", description: "\"UNION\"" }, + peg$c701 = "unique", + peg$c702 = { type: "literal", value: "UNIQUE", description: "\"UNIQUE\"" }, + peg$c703 = "update", + peg$c704 = { type: "literal", value: "UPDATE", description: "\"UPDATE\"" }, + peg$c705 = "using", + peg$c706 = { type: "literal", value: "USING", description: "\"USING\"" }, + peg$c707 = "vacuum", + peg$c708 = { type: "literal", value: "VACUUM", description: "\"VACUUM\"" }, + peg$c709 = "values", + peg$c710 = { type: "literal", value: "VALUES", description: "\"VALUES\"" }, + peg$c711 = "view", + peg$c712 = { type: "literal", value: "VIEW", description: "\"VIEW\"" }, + peg$c713 = "virtual", + peg$c714 = { type: "literal", value: "VIRTUAL", description: "\"VIRTUAL\"" }, + peg$c715 = "when", + peg$c716 = { type: "literal", value: "WHEN", description: "\"WHEN\"" }, + peg$c717 = "where", + peg$c718 = { type: "literal", value: "WHERE", description: "\"WHERE\"" }, + peg$c719 = "with", + peg$c720 = { type: "literal", value: "WITH", description: "\"WITH\"" }, + peg$c721 = "without", + peg$c722 = { type: "literal", value: "WITHOUT", description: "\"WITHOUT\"" }, + peg$c723 = function(r) { return util.key(r); }, + peg$c724 = { type: "other", description: "SQL Line Comment" }, + peg$c725 = { type: "other", description: "SQL Block Comment" }, + peg$c726 = { type: "other", description: "Anything" }, + peg$c727 = { type: "any", description: "any character" }, + peg$c728 = { type: "other", description: "Whitespace" }, + peg$c729 = /^[ \t]/, + peg$c730 = { type: "class", value: "[ \\t]", description: "[ \\t]" }, + peg$c731 = { type: "other", description: "New Line" }, + peg$c732 = /^[\n\x0B\f\r]/, + peg$c733 = { type: "class", value: "[\\n\\v\\f\\r]", description: "[\\n\\v\\f\\r]" }, + peg$c734 = "__TODO__", + peg$c735 = { type: "literal", value: "__TODO__", description: "\"__TODO__\"" }, peg$currPos = 0, peg$savedPos = 0, @@ -1832,6 +1845,8 @@ module.exports = (function() { "datatype_types": "Datatype Name", "datatype_text": "TEXT Datatype Name", "datatype_real": "REAL Datatype Name", +"datatype_real_double": "", +"real_double_precision": "", "datatype_numeric": "NUMERIC Datatype Name", "datatype_integer": "INTEGER Datatype Name", "datatype_none": "BLOB Datatype Name", @@ -1930,13 +1945,15 @@ module.exports = (function() { "drop_types": "", "drop_ie": "", "name_char": "", -"name_char_quoted": "", "name": "", "reserved_nodes": "", "name_unquoted": "", "name_bracketed": "", +"name_bracketed_schar": "", "name_dblquoted": "", +"name_dblquoted_schar": "", "name_backticked": "", +"name_backticked_schar": "", "sym_bopen": "Open Bracket", "sym_bclose": "Close Bracket", "sym_popen": "Open Parenthesis", @@ -3670,7 +3687,7 @@ module.exports = (function() { if (s3 !== peg$FAILED) { s4 = peg$parsee(); if (s4 !== peg$FAILED) { - s5 = peg$parsename(); + s5 = peg$parsename_unquoted(); if (s5 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c31(s1, s3, s5); @@ -6269,7 +6286,7 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; - s1 = peg$parsename(); + s1 = peg$parsename_unquoted(); if (s1 !== peg$FAILED) { s2 = peg$parsesym_popen(); if (s2 !== peg$FAILED) { @@ -13362,7 +13379,7 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; - s1 = peg$parsename(); + s1 = peg$parsename_unquoted(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c232(s1); @@ -13840,7 +13857,7 @@ module.exports = (function() { } function peg$parsedatatype_real() { - var s0, s1, s2, s3, s4, s5, + var s0, s1, startPos = peg$currPos; peg$tracer.trace({ @@ -13852,65 +13869,22 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; - s1 = peg$currPos; - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c265) { - s2 = input.substr(peg$currPos, 6); - peg$currPos += 6; - } else { - s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c266); } - } - if (s2 !== peg$FAILED) { - s3 = peg$currPos; - s4 = peg$parsee(); - if (s4 !== peg$FAILED) { - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c267) { - s5 = input.substr(peg$currPos, 9); - peg$currPos += 9; - } else { - s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c268); } - } - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - if (s3 === peg$FAILED) { - s3 = null; - } - if (s3 !== peg$FAILED) { - s2 = [s2, s3]; - s1 = s2; - } else { - peg$currPos = s1; - s1 = peg$FAILED; - } - } else { - peg$currPos = s1; - s1 = peg$FAILED; - } + s1 = peg$parsedatatype_real_double(); if (s1 === peg$FAILED) { - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c269) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c265) { s1 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c270); } + if (peg$silentFails === 0) { peg$fail(peg$c266); } } if (s1 === peg$FAILED) { - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c271) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c267) { s1 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c272); } + if (peg$silentFails === 0) { peg$fail(peg$c268); } } } } @@ -13945,6 +13919,117 @@ module.exports = (function() { return s0; } + function peg$parsedatatype_real_double() { + var s0, s1, s2, + startPos = peg$currPos; + + peg$tracer.trace({ + type: "rule.enter", + rule: "datatype_real_double", + description: peg$descNames["datatype_real_double"], + location: peg$computeLocation(startPos, startPos) + }); + + s0 = peg$currPos; + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c269) { + s1 = input.substr(peg$currPos, 6); + peg$currPos += 6; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c270); } + } + if (s1 !== peg$FAILED) { + s2 = peg$parsereal_double_precision(); + if (s2 === peg$FAILED) { + s2 = null; + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c271(s1, s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + if (s0 !== peg$FAILED) { + peg$tracer.trace({ + type: "rule.match", + rule: "datatype_real_double", + result: s0, + description: peg$descNames["datatype_real_double"], + location: peg$computeLocation(startPos, peg$currPos) + }); + } else { + peg$tracer.trace({ + type: "rule.fail", + rule: "datatype_real_double", + description: peg$descNames["datatype_real_double"], + location: peg$computeLocation(startPos, startPos) + }); + } + + return s0; + } + + function peg$parsereal_double_precision() { + var s0, s1, s2, + startPos = peg$currPos; + + peg$tracer.trace({ + type: "rule.enter", + rule: "real_double_precision", + description: peg$descNames["real_double_precision"], + location: peg$computeLocation(startPos, startPos) + }); + + s0 = peg$currPos; + s1 = peg$parsee(); + if (s1 !== peg$FAILED) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c272) { + s2 = input.substr(peg$currPos, 9); + peg$currPos += 9; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c273); } + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c274(s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + if (s0 !== peg$FAILED) { + peg$tracer.trace({ + type: "rule.match", + rule: "real_double_precision", + result: s0, + description: peg$descNames["real_double_precision"], + location: peg$computeLocation(startPos, peg$currPos) + }); + } else { + peg$tracer.trace({ + type: "rule.fail", + rule: "real_double_precision", + description: peg$descNames["real_double_precision"], + location: peg$computeLocation(startPos, startPos) + }); + } + + return s0; + } + function peg$parsedatatype_numeric() { var s0, s1, s2, s3, startPos = peg$currPos; @@ -13958,45 +14043,45 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c274) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c276) { s1 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c275); } + if (peg$silentFails === 0) { peg$fail(peg$c277); } } if (s1 === peg$FAILED) { - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c276) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c278) { s1 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c277); } + if (peg$silentFails === 0) { peg$fail(peg$c279); } } if (s1 === peg$FAILED) { - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c278) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c280) { s1 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c279); } + if (peg$silentFails === 0) { peg$fail(peg$c281); } } if (s1 === peg$FAILED) { s1 = peg$currPos; - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c280) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c282) { s2 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c281); } + if (peg$silentFails === 0) { peg$fail(peg$c283); } } if (s2 !== peg$FAILED) { - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c282) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c284) { s3 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c283); } + if (peg$silentFails === 0) { peg$fail(peg$c285); } } if (s3 === peg$FAILED) { s3 = null; @@ -14014,20 +14099,20 @@ module.exports = (function() { } if (s1 === peg$FAILED) { s1 = peg$currPos; - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c282) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c284) { s2 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c283); } + if (peg$silentFails === 0) { peg$fail(peg$c285); } } if (s2 !== peg$FAILED) { - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c284) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c286) { s3 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c285); } + if (peg$silentFails === 0) { peg$fail(peg$c287); } } if (s3 === peg$FAILED) { s3 = null; @@ -14055,7 +14140,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c273); } + if (peg$silentFails === 0) { peg$fail(peg$c275); } } if (s0 !== peg$FAILED) { @@ -14092,44 +14177,44 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; s1 = peg$currPos; - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c287) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c289) { s2 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c288); } + if (peg$silentFails === 0) { peg$fail(peg$c290); } } if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 50) { - s3 = peg$c289; + s3 = peg$c291; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c290); } + if (peg$silentFails === 0) { peg$fail(peg$c292); } } if (s3 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 52) { - s3 = peg$c291; + s3 = peg$c293; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c292); } + if (peg$silentFails === 0) { peg$fail(peg$c294); } } if (s3 === peg$FAILED) { if (input.charCodeAt(peg$currPos) === 56) { - s3 = peg$c293; + s3 = peg$c295; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c294); } + if (peg$silentFails === 0) { peg$fail(peg$c296); } } if (s3 === peg$FAILED) { - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c295) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c297) { s3 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c296); } + if (peg$silentFails === 0) { peg$fail(peg$c298); } } } } @@ -14147,12 +14232,12 @@ module.exports = (function() { } if (s1 === peg$FAILED) { s1 = peg$currPos; - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c297) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c299) { s2 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c298); } + if (peg$silentFails === 0) { peg$fail(peg$c300); } } if (s2 === peg$FAILED) { if (input.substr(peg$currPos, 6).toLowerCase() === peg$c256) { @@ -14163,12 +14248,12 @@ module.exports = (function() { if (peg$silentFails === 0) { peg$fail(peg$c257); } } if (s2 === peg$FAILED) { - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c299) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c301) { s2 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s2 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c300); } + if (peg$silentFails === 0) { peg$fail(peg$c302); } } if (s2 === peg$FAILED) { if (input.substr(peg$currPos, 4).toLowerCase() === peg$c254) { @@ -14185,12 +14270,12 @@ module.exports = (function() { s2 = null; } if (s2 !== peg$FAILED) { - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c287) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c289) { s3 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c288); } + if (peg$silentFails === 0) { peg$fail(peg$c290); } } if (s3 !== peg$FAILED) { s2 = [s2, s3]; @@ -14212,7 +14297,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c286); } + if (peg$silentFails === 0) { peg$fail(peg$c288); } } if (s0 !== peg$FAILED) { @@ -14248,12 +14333,12 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c302) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c304) { s1 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c303); } + if (peg$silentFails === 0) { peg$fail(peg$c305); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; @@ -14263,7 +14348,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c301); } + if (peg$silentFails === 0) { peg$fail(peg$c303); } } if (s0 !== peg$FAILED) { @@ -14337,7 +14422,7 @@ module.exports = (function() { } if (s11 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c305(s7, s3, s4, s5, s8, s9, s11); + s1 = peg$c307(s7, s3, s4, s5, s8, s9, s11); s0 = s1; } else { peg$currPos = s0; @@ -14386,7 +14471,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c304); } + if (peg$silentFails === 0) { peg$fail(peg$c306); } } if (s0 !== peg$FAILED) { @@ -14440,7 +14525,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c306); } + if (peg$silentFails === 0) { peg$fail(peg$c308); } } if (s0 !== peg$FAILED) { @@ -14485,7 +14570,7 @@ module.exports = (function() { s4 = peg$parsee(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c308(s3); + s1 = peg$c310(s3); s0 = s1; } else { peg$currPos = s0; @@ -14506,7 +14591,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c307); } + if (peg$silentFails === 0) { peg$fail(peg$c309); } } if (s0 !== peg$FAILED) { @@ -14551,7 +14636,7 @@ module.exports = (function() { s4 = peg$parseo(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c310(s3); + s1 = peg$c312(s3); s0 = s1; } else { peg$currPos = s0; @@ -14572,7 +14657,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c309); } + if (peg$silentFails === 0) { peg$fail(peg$c311); } } if (s0 !== peg$FAILED) { @@ -14725,7 +14810,7 @@ module.exports = (function() { s5 = peg$parseo(); if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c311(s1, s4); + s1 = peg$c313(s1, s4); s0 = s1; } else { peg$currPos = s0; @@ -14810,7 +14895,7 @@ module.exports = (function() { } if (s8 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c313(s1, s3, s4, s6, s7, s8); + s1 = peg$c315(s1, s3, s4, s6, s7, s8); s0 = s1; } else { peg$currPos = s0; @@ -14847,7 +14932,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c312); } + if (peg$silentFails === 0) { peg$fail(peg$c314); } } if (s0 !== peg$FAILED) { @@ -14958,7 +15043,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c314); } + if (peg$silentFails === 0) { peg$fail(peg$c316); } } if (s0 !== peg$FAILED) { @@ -15019,7 +15104,7 @@ module.exports = (function() { s9 = peg$parsecreate_table_source(); if (s9 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c316(s1, s3, s4, s6, s7, s9); + s1 = peg$c318(s1, s3, s4, s6, s7, s9); s0 = s1; } else { peg$currPos = s0; @@ -15060,7 +15145,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c315); } + if (peg$silentFails === 0) { peg$fail(peg$c317); } } if (s0 !== peg$FAILED) { @@ -15157,7 +15242,7 @@ module.exports = (function() { s5 = peg$parsee(); if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c317(s1, s3, s4); + s1 = peg$c319(s1, s3, s4); s0 = s1; } else { peg$currPos = s0; @@ -15268,7 +15353,7 @@ module.exports = (function() { } if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c319(s2, s3, s5); + s1 = peg$c321(s2, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -15293,7 +15378,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c318); } + if (peg$silentFails === 0) { peg$fail(peg$c320); } } if (s0 !== peg$FAILED) { @@ -15337,7 +15422,7 @@ module.exports = (function() { s4 = peg$parseo(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c320(s1, s3); + s1 = peg$c322(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -15506,7 +15591,7 @@ module.exports = (function() { s2 = peg$parsetable_constraint(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c321(s2); + s1 = peg$c323(s2); s0 = s1; } else { peg$currPos = s0; @@ -15590,7 +15675,7 @@ module.exports = (function() { } if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c323(s1, s3, s5); + s1 = peg$c325(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -15615,7 +15700,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c322); } + if (peg$silentFails === 0) { peg$fail(peg$c324); } } if (s0 !== peg$FAILED) { @@ -15654,13 +15739,13 @@ module.exports = (function() { s1 = peg$parsetype_definition(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c325(s1); + s1 = peg$c327(s1); } s0 = s1; peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c324); } + if (peg$silentFails === 0) { peg$fail(peg$c326); } } if (s0 !== peg$FAILED) { @@ -15811,7 +15896,7 @@ module.exports = (function() { s2 = peg$parsecolumn_constraint_types(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c327(s1, s2); + s1 = peg$c329(s1, s2); s0 = s1; } else { peg$currPos = s0; @@ -15824,7 +15909,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c326); } + if (peg$silentFails === 0) { peg$fail(peg$c328); } } if (s0 !== peg$FAILED) { @@ -15970,7 +16055,7 @@ module.exports = (function() { s1 = peg$parseforeign_clause(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c328(s1); + s1 = peg$c330(s1); } s0 = s1; @@ -16024,7 +16109,7 @@ module.exports = (function() { } if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c329(s1, s2, s3, s4); + s1 = peg$c331(s1, s2, s3, s4); s0 = s1; } else { peg$currPos = s0; @@ -16084,7 +16169,7 @@ module.exports = (function() { s4 = peg$parseo(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c330(s1, s3); + s1 = peg$c332(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -16140,7 +16225,7 @@ module.exports = (function() { s2 = peg$parseo(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c331(s1); + s1 = peg$c333(s1); s0 = s1; } else { peg$currPos = s0; @@ -16188,7 +16273,7 @@ module.exports = (function() { s2 = peg$parseo(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c332(s1); + s1 = peg$c334(s1); s0 = s1; } else { peg$currPos = s0; @@ -16241,7 +16326,7 @@ module.exports = (function() { s3 = peg$parseo(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c333(s1, s2); + s1 = peg$c335(s1, s2); s0 = s1; } else { peg$currPos = s0; @@ -16338,7 +16423,7 @@ module.exports = (function() { s2 = peg$parseNULL(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c334(s1, s2); + s1 = peg$c336(s1, s2); s0 = s1; } else { peg$currPos = s0; @@ -16386,7 +16471,7 @@ module.exports = (function() { s2 = peg$parsecol_default_val(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c335(s1, s2); + s1 = peg$c337(s1, s2); s0 = s1; } else { peg$currPos = s0; @@ -16434,7 +16519,7 @@ module.exports = (function() { s2 = peg$parseexpression_wrapped(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c336(s2); + s1 = peg$c338(s2); s0 = s1; } else { peg$currPos = s0; @@ -16451,7 +16536,7 @@ module.exports = (function() { s2 = peg$parseliteral_number_signed(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c336(s2); + s1 = peg$c338(s2); s0 = s1; } else { peg$currPos = s0; @@ -16468,7 +16553,7 @@ module.exports = (function() { s2 = peg$parseliteral_value(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c336(s2); + s1 = peg$c338(s2); s0 = s1; } else { peg$currPos = s0; @@ -16516,7 +16601,7 @@ module.exports = (function() { s1 = peg$parsecolumn_collate(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c337(s1); + s1 = peg$c339(s1); } s0 = s1; @@ -16565,7 +16650,7 @@ module.exports = (function() { s4 = peg$parseo(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c339(s1, s3); + s1 = peg$c341(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -16586,7 +16671,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c338); } + if (peg$silentFails === 0) { peg$fail(peg$c340); } } if (s0 !== peg$FAILED) { @@ -16717,7 +16802,7 @@ module.exports = (function() { s1 = peg$parseconstraint_check(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c340(s1); + s1 = peg$c342(s1); } s0 = s1; @@ -16765,7 +16850,7 @@ module.exports = (function() { } if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c341(s1, s3, s4); + s1 = peg$c343(s1, s3, s4); s0 = s1; } else { peg$currPos = s0; @@ -16824,7 +16909,7 @@ module.exports = (function() { s2 = peg$parseo(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c342(s1); + s1 = peg$c344(s1); s0 = s1; } else { peg$currPos = s0; @@ -16874,7 +16959,7 @@ module.exports = (function() { s3 = peg$parseKEY(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c343(s1, s3); + s1 = peg$c345(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -16924,7 +17009,7 @@ module.exports = (function() { s1 = peg$parseUNIQUE(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c344(s1); + s1 = peg$c346(s1); } s0 = s1; @@ -17047,7 +17132,7 @@ module.exports = (function() { } if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c346(s1, s3, s4); + s1 = peg$c348(s1, s3, s4); s0 = s1; } else { peg$currPos = s0; @@ -17068,7 +17153,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c345); } + if (peg$silentFails === 0) { peg$fail(peg$c347); } } if (s0 !== peg$FAILED) { @@ -17281,7 +17366,7 @@ module.exports = (function() { s6 = peg$parseo(); if (s6 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c347(s1, s3, s5); + s1 = peg$c349(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -17347,7 +17432,7 @@ module.exports = (function() { s3 = peg$parseexpression_wrapped(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c348(s1, s3); + s1 = peg$c350(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -17407,7 +17492,7 @@ module.exports = (function() { s6 = peg$parseo(); if (s6 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c349(s1, s3, s5); + s1 = peg$c351(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -17473,7 +17558,7 @@ module.exports = (function() { s3 = peg$parseKEY(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c350(s1, s3); + s1 = peg$c352(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -17533,7 +17618,7 @@ module.exports = (function() { } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c351(s1, s2, s3); + s1 = peg$c353(s1, s2, s3); s0 = s1; } else { peg$currPos = s0; @@ -17594,7 +17679,7 @@ module.exports = (function() { } if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c352(s3, s5); + s1 = peg$c354(s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -17663,7 +17748,7 @@ module.exports = (function() { s4 = peg$parseo(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c353(s1, s3); + s1 = peg$c355(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -17812,7 +17897,7 @@ module.exports = (function() { s5 = peg$parseaction_on_action(); if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c354(s1, s3, s5); + s1 = peg$c356(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -17916,7 +18001,7 @@ module.exports = (function() { } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c355(s1, s3); + s1 = peg$c357(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -17969,7 +18054,7 @@ module.exports = (function() { } if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c356(s1); + s1 = peg$c358(s1); } s0 = s1; @@ -18012,7 +18097,7 @@ module.exports = (function() { s3 = peg$parseACTION(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c357(s1, s3); + s1 = peg$c359(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -18066,7 +18151,7 @@ module.exports = (function() { s3 = peg$parsename(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c358(s1, s3); + s1 = peg$c360(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -18126,7 +18211,7 @@ module.exports = (function() { } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c359(s1, s2, s3); + s1 = peg$c361(s1, s2, s3); s0 = s1; } else { peg$currPos = s0; @@ -18185,7 +18270,7 @@ module.exports = (function() { } if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c360(s2, s4); + s1 = peg$c362(s2, s4); s0 = s1; } else { peg$currPos = s0; @@ -18239,7 +18324,7 @@ module.exports = (function() { s1 = peg$parsecreate_as_select(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c361(s1); + s1 = peg$c363(s1); } s0 = s1; @@ -18306,7 +18391,7 @@ module.exports = (function() { } if (s10 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c363(s1, s3, s4, s6, s7, s9, s10); + s1 = peg$c365(s1, s3, s4, s6, s7, s9, s10); s0 = s1; } else { peg$currPos = s0; @@ -18351,7 +18436,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c362); } + if (peg$silentFails === 0) { peg$fail(peg$c364); } } if (s0 !== peg$FAILED) { @@ -18391,7 +18476,7 @@ module.exports = (function() { s2 = peg$parsee(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c364(s1); + s1 = peg$c366(s1); s0 = s1; } else { peg$currPos = s0; @@ -18445,7 +18530,7 @@ module.exports = (function() { s5 = peg$parseprimary_columns(); if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c365(s1, s3, s5); + s1 = peg$c367(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -18546,7 +18631,7 @@ module.exports = (function() { s16 = peg$parsetrigger_action(); if (s16 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c367(s1, s3, s4, s6, s7, s9, s12, s14, s15, s16); + s1 = peg$c369(s1, s3, s4, s6, s7, s9, s12, s14, s15, s16); s0 = s1; } else { peg$currPos = s0; @@ -18615,7 +18700,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c366); } + if (peg$silentFails === 0) { peg$fail(peg$c368); } } if (s0 !== peg$FAILED) { @@ -18658,7 +18743,7 @@ module.exports = (function() { s2 = peg$parsetrigger_do(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c368(s1, s2); + s1 = peg$c370(s1, s2); s0 = s1; } else { peg$currPos = s0; @@ -18712,7 +18797,7 @@ module.exports = (function() { s2 = peg$parsee(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c369(s1); + s1 = peg$c371(s1); s0 = s1; } else { peg$currPos = s0; @@ -18762,7 +18847,7 @@ module.exports = (function() { s3 = peg$parseOF(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c370(s1, s3); + s1 = peg$c372(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -18853,7 +18938,7 @@ module.exports = (function() { s2 = peg$parsee(); if (s2 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c371(s1); + s1 = peg$c373(s1); s0 = s1; } else { peg$currPos = s0; @@ -18906,7 +18991,7 @@ module.exports = (function() { } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c372(s1, s3); + s1 = peg$c374(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -18960,7 +19045,7 @@ module.exports = (function() { s3 = peg$parsedo_update_columns(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c373(s1, s3); + s1 = peg$c375(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -19076,19 +19161,19 @@ module.exports = (function() { if (s4 !== peg$FAILED) { s5 = peg$parseROW(); if (s5 === peg$FAILED) { - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c374) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c376) { s5 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c375); } + if (peg$silentFails === 0) { peg$fail(peg$c377); } } } if (s5 !== peg$FAILED) { s6 = peg$parsee(); if (s6 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c376(s1, s3, s5); + s1 = peg$c378(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -19156,7 +19241,7 @@ module.exports = (function() { s4 = peg$parseo(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c377(s1, s3); + s1 = peg$c379(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -19220,7 +19305,7 @@ module.exports = (function() { s6 = peg$parseo(); if (s6 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c378(s1, s3, s5); + s1 = peg$c380(s1, s3, s5); s0 = s1; } else { peg$currPos = s0; @@ -19334,7 +19419,7 @@ module.exports = (function() { s3 = peg$parsesym_semi(); if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c379(s1, s3); + s1 = peg$c381(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -19407,7 +19492,7 @@ module.exports = (function() { s9 = peg$parsecreate_as_select(); if (s9 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c381(s1, s3, s4, s6, s7, s9); + s1 = peg$c383(s1, s3, s4, s6, s7, s9); s0 = s1; } else { peg$currPos = s0; @@ -19448,7 +19533,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c380); } + if (peg$silentFails === 0) { peg$fail(peg$c382); } } if (s0 !== peg$FAILED) { @@ -19569,7 +19654,7 @@ module.exports = (function() { if (s10 !== peg$FAILED) { s11 = peg$parsee(); if (s11 !== peg$FAILED) { - s12 = peg$parsename(); + s12 = peg$parsename_unquoted(); if (s12 !== peg$FAILED) { s13 = peg$parseo(); if (s13 !== peg$FAILED) { @@ -19579,7 +19664,7 @@ module.exports = (function() { } if (s14 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c383(s1, s3, s5, s7, s8, s12, s14); + s1 = peg$c385(s1, s3, s5, s7, s8, s12, s14); s0 = s1; } else { peg$currPos = s0; @@ -19640,7 +19725,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c382); } + if (peg$silentFails === 0) { peg$fail(peg$c384); } } if (s0 !== peg$FAILED) { @@ -19684,7 +19769,7 @@ module.exports = (function() { s4 = peg$parsesym_pclose(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c321(s2); + s1 = peg$c323(s2); s0 = s1; } else { peg$currPos = s0; @@ -19839,7 +19924,7 @@ module.exports = (function() { s5 = peg$parseo(); if (s5 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c385(s1, s2, s3, s4); + s1 = peg$c387(s1, s2, s3, s4); s0 = s1; } else { peg$currPos = s0; @@ -19864,7 +19949,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c384); } + if (peg$silentFails === 0) { peg$fail(peg$c386); } } if (s0 !== peg$FAILED) { @@ -20013,7 +20098,7 @@ module.exports = (function() { s4 = peg$parsee(); if (s4 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c386(s1, s3); + s1 = peg$c388(s1, s3); s0 = s1; } else { peg$currPos = s0; @@ -20063,12 +20148,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (peg$c387.test(input.charAt(peg$currPos))) { + if (peg$c389.test(input.charAt(peg$currPos))) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c388); } + if (peg$silentFails === 0) { peg$fail(peg$c390); } } if (s0 !== peg$FAILED) { @@ -20091,45 +20176,6 @@ module.exports = (function() { return s0; } - function peg$parsename_char_quoted() { - var s0, - startPos = peg$currPos; - - peg$tracer.trace({ - type: "rule.enter", - rule: "name_char_quoted", - description: peg$descNames["name_char_quoted"], - location: peg$computeLocation(startPos, startPos) - }); - - if (peg$c389.test(input.charAt(peg$currPos))) { - s0 = input.charAt(peg$currPos); - peg$currPos++; - } else { - s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c390); } - } - - if (s0 !== peg$FAILED) { - peg$tracer.trace({ - type: "rule.match", - rule: "name_char_quoted", - result: s0, - description: peg$descNames["name_char_quoted"], - location: peg$computeLocation(startPos, peg$currPos) - }); - } else { - peg$tracer.trace({ - type: "rule.fail", - rule: "name_char_quoted", - description: peg$descNames["name_char_quoted"], - location: peg$computeLocation(startPos, startPos) - }); - } - - return s0; - } - function peg$parsename() { var s0, startPos = peg$currPos; @@ -20200,7 +20246,8 @@ module.exports = (function() { s2 = peg$FAILED; } if (s2 !== peg$FAILED) { - s1 = [s1, s2]; + peg$savedPos = s0; + s1 = peg$c391(s1); s0 = s1; } else { peg$currPos = s0; @@ -20298,7 +20345,7 @@ module.exports = (function() { } function peg$parsename_bracketed() { - var s0, s1, s2, s3, s4, s5, + var s0, s1, s2, s3, s4, startPos = peg$currPos; peg$tracer.trace({ @@ -20312,57 +20359,11 @@ module.exports = (function() { s1 = peg$parsesym_bopen(); if (s1 !== peg$FAILED) { s2 = []; - s3 = peg$currPos; - s4 = peg$currPos; - peg$silentFails++; - s5 = peg$parsesym_bclose(); - peg$silentFails--; - if (s5 === peg$FAILED) { - s4 = void 0; - } else { - peg$currPos = s4; - s4 = peg$FAILED; - } - if (s4 !== peg$FAILED) { - s5 = peg$parsename_char_quoted(); - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } + s3 = peg$parsename_bracketed_schar(); if (s3 !== peg$FAILED) { while (s3 !== peg$FAILED) { s2.push(s3); - s3 = peg$currPos; - s4 = peg$currPos; - peg$silentFails++; - s5 = peg$parsesym_bclose(); - peg$silentFails--; - if (s5 === peg$FAILED) { - s4 = void 0; - } else { - peg$currPos = s4; - s4 = peg$FAILED; - } - if (s4 !== peg$FAILED) { - s5 = peg$parsename_char_quoted(); - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } + s3 = peg$parsename_bracketed_schar(); } } else { s2 = peg$FAILED; @@ -20412,105 +20413,135 @@ module.exports = (function() { return s0; } - function peg$parsename_dblquoted() { - var s0, s1, s2, s3, s4, s5, + function peg$parsename_bracketed_schar() { + var s0, s1, s2, s3, s4, startPos = peg$currPos; peg$tracer.trace({ type: "rule.enter", - rule: "name_dblquoted", - description: peg$descNames["name_dblquoted"], + rule: "name_bracketed_schar", + description: peg$descNames["name_bracketed_schar"], location: peg$computeLocation(startPos, startPos) }); s0 = peg$currPos; - if (input.charCodeAt(peg$currPos) === 34) { - s1 = peg$c391; - peg$currPos++; - } else { - s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c392); } + s1 = peg$currPos; + peg$silentFails++; + s2 = peg$currPos; + s3 = []; + s4 = peg$parsewhitespace_space(); + while (s4 !== peg$FAILED) { + s3.push(s4); + s4 = peg$parsewhitespace_space(); } - if (s1 !== peg$FAILED) { - s2 = []; - s3 = peg$currPos; - s4 = peg$currPos; - peg$silentFails++; - if (input.charCodeAt(peg$currPos) === 34) { - s5 = peg$c391; + if (s3 !== peg$FAILED) { + if (input.charCodeAt(peg$currPos) === 93) { + s4 = peg$c392; peg$currPos++; } else { - s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c392); } - } - peg$silentFails--; - if (s5 === peg$FAILED) { - s4 = void 0; - } else { - peg$currPos = s4; s4 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c393); } } if (s4 !== peg$FAILED) { - s5 = peg$parsename_char_quoted(); - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } + s3 = [s3, s4]; + s2 = s3; } else { - peg$currPos = s3; - s3 = peg$FAILED; + peg$currPos = s2; + s2 = peg$FAILED; + } + } else { + peg$currPos = s2; + s2 = peg$FAILED; + } + peg$silentFails--; + if (s2 === peg$FAILED) { + s1 = void 0; + } else { + peg$currPos = s1; + s1 = peg$FAILED; + } + if (s1 !== peg$FAILED) { + if (peg$c394.test(input.charAt(peg$currPos))) { + s2 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s2 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c395); } + } + if (s2 !== peg$FAILED) { + peg$savedPos = s0; + s1 = peg$c8(s2); + s0 = s1; + } else { + peg$currPos = s0; + s0 = peg$FAILED; } + } else { + peg$currPos = s0; + s0 = peg$FAILED; + } + + if (s0 !== peg$FAILED) { + peg$tracer.trace({ + type: "rule.match", + rule: "name_bracketed_schar", + result: s0, + description: peg$descNames["name_bracketed_schar"], + location: peg$computeLocation(startPos, peg$currPos) + }); + } else { + peg$tracer.trace({ + type: "rule.fail", + rule: "name_bracketed_schar", + description: peg$descNames["name_bracketed_schar"], + location: peg$computeLocation(startPos, startPos) + }); + } + + return s0; + } + + function peg$parsename_dblquoted() { + var s0, s1, s2, s3, + startPos = peg$currPos; + + peg$tracer.trace({ + type: "rule.enter", + rule: "name_dblquoted", + description: peg$descNames["name_dblquoted"], + location: peg$computeLocation(startPos, startPos) + }); + + s0 = peg$currPos; + if (input.charCodeAt(peg$currPos) === 34) { + s1 = peg$c396; + peg$currPos++; + } else { + s1 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c397); } + } + if (s1 !== peg$FAILED) { + s2 = []; + s3 = peg$parsename_dblquoted_schar(); if (s3 !== peg$FAILED) { while (s3 !== peg$FAILED) { s2.push(s3); - s3 = peg$currPos; - s4 = peg$currPos; - peg$silentFails++; - if (input.charCodeAt(peg$currPos) === 34) { - s5 = peg$c391; - peg$currPos++; - } else { - s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c392); } - } - peg$silentFails--; - if (s5 === peg$FAILED) { - s4 = void 0; - } else { - peg$currPos = s4; - s4 = peg$FAILED; - } - if (s4 !== peg$FAILED) { - s5 = peg$parsename_char_quoted(); - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } + s3 = peg$parsename_dblquoted_schar(); } } else { s2 = peg$FAILED; } if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 34) { - s3 = peg$c391; + s3 = peg$c396; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c392); } + if (peg$silentFails === 0) { peg$fail(peg$c397); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c40(s2); + s1 = peg$c398(s2); s0 = s1; } else { peg$currPos = s0; @@ -20545,8 +20576,56 @@ module.exports = (function() { return s0; } + function peg$parsename_dblquoted_schar() { + var s0, + startPos = peg$currPos; + + peg$tracer.trace({ + type: "rule.enter", + rule: "name_dblquoted_schar", + description: peg$descNames["name_dblquoted_schar"], + location: peg$computeLocation(startPos, startPos) + }); + + if (input.substr(peg$currPos, 2) === peg$c399) { + s0 = peg$c399; + peg$currPos += 2; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c400); } + } + if (s0 === peg$FAILED) { + if (peg$c401.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c402); } + } + } + + if (s0 !== peg$FAILED) { + peg$tracer.trace({ + type: "rule.match", + rule: "name_dblquoted_schar", + result: s0, + description: peg$descNames["name_dblquoted_schar"], + location: peg$computeLocation(startPos, peg$currPos) + }); + } else { + peg$tracer.trace({ + type: "rule.fail", + rule: "name_dblquoted_schar", + description: peg$descNames["name_dblquoted_schar"], + location: peg$computeLocation(startPos, startPos) + }); + } + + return s0; + } + function peg$parsename_backticked() { - var s0, s1, s2, s3, s4, s5, + var s0, s1, s2, s3, startPos = peg$currPos; peg$tracer.trace({ @@ -20558,92 +20637,34 @@ module.exports = (function() { s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 96) { - s1 = peg$c393; + s1 = peg$c403; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c394); } + if (peg$silentFails === 0) { peg$fail(peg$c404); } } if (s1 !== peg$FAILED) { s2 = []; - s3 = peg$currPos; - s4 = peg$currPos; - peg$silentFails++; - if (input.charCodeAt(peg$currPos) === 96) { - s5 = peg$c393; - peg$currPos++; - } else { - s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c394); } - } - peg$silentFails--; - if (s5 === peg$FAILED) { - s4 = void 0; - } else { - peg$currPos = s4; - s4 = peg$FAILED; - } - if (s4 !== peg$FAILED) { - s5 = peg$parsename_char_quoted(); - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } + s3 = peg$parsename_backticked_schar(); if (s3 !== peg$FAILED) { while (s3 !== peg$FAILED) { s2.push(s3); - s3 = peg$currPos; - s4 = peg$currPos; - peg$silentFails++; - if (input.charCodeAt(peg$currPos) === 96) { - s5 = peg$c393; - peg$currPos++; - } else { - s5 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c394); } - } - peg$silentFails--; - if (s5 === peg$FAILED) { - s4 = void 0; - } else { - peg$currPos = s4; - s4 = peg$FAILED; - } - if (s4 !== peg$FAILED) { - s5 = peg$parsename_char_quoted(); - if (s5 !== peg$FAILED) { - s4 = [s4, s5]; - s3 = s4; - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } - } else { - peg$currPos = s3; - s3 = peg$FAILED; - } + s3 = peg$parsename_backticked_schar(); } } else { s2 = peg$FAILED; } if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 96) { - s3 = peg$c393; + s3 = peg$c403; peg$currPos++; } else { s3 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c394); } + if (peg$silentFails === 0) { peg$fail(peg$c404); } } if (s3 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c40(s2); + s1 = peg$c405(s2); s0 = s1; } else { peg$currPos = s0; @@ -20678,6 +20699,54 @@ module.exports = (function() { return s0; } + function peg$parsename_backticked_schar() { + var s0, + startPos = peg$currPos; + + peg$tracer.trace({ + type: "rule.enter", + rule: "name_backticked_schar", + description: peg$descNames["name_backticked_schar"], + location: peg$computeLocation(startPos, startPos) + }); + + if (input.substr(peg$currPos, 2) === peg$c406) { + s0 = peg$c406; + peg$currPos += 2; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c407); } + } + if (s0 === peg$FAILED) { + if (peg$c408.test(input.charAt(peg$currPos))) { + s0 = input.charAt(peg$currPos); + peg$currPos++; + } else { + s0 = peg$FAILED; + if (peg$silentFails === 0) { peg$fail(peg$c409); } + } + } + + if (s0 !== peg$FAILED) { + peg$tracer.trace({ + type: "rule.match", + rule: "name_backticked_schar", + result: s0, + description: peg$descNames["name_backticked_schar"], + location: peg$computeLocation(startPos, peg$currPos) + }); + } else { + peg$tracer.trace({ + type: "rule.fail", + rule: "name_backticked_schar", + description: peg$descNames["name_backticked_schar"], + location: peg$computeLocation(startPos, startPos) + }); + } + + return s0; + } + function peg$parsesym_bopen() { var s0, s1, s2, startPos = peg$currPos; @@ -20692,11 +20761,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 91) { - s1 = peg$c396; + s1 = peg$c411; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c397); } + if (peg$silentFails === 0) { peg$fail(peg$c412); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -20715,7 +20784,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c395); } + if (peg$silentFails === 0) { peg$fail(peg$c410); } } if (s0 !== peg$FAILED) { @@ -20752,11 +20821,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 93) { - s1 = peg$c399; + s1 = peg$c392; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c400); } + if (peg$silentFails === 0) { peg$fail(peg$c393); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -20775,7 +20844,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c398); } + if (peg$silentFails === 0) { peg$fail(peg$c413); } } if (s0 !== peg$FAILED) { @@ -20812,11 +20881,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 40) { - s1 = peg$c402; + s1 = peg$c415; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c403); } + if (peg$silentFails === 0) { peg$fail(peg$c416); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -20835,7 +20904,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c401); } + if (peg$silentFails === 0) { peg$fail(peg$c414); } } if (s0 !== peg$FAILED) { @@ -20872,11 +20941,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 41) { - s1 = peg$c405; + s1 = peg$c418; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c406); } + if (peg$silentFails === 0) { peg$fail(peg$c419); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -20895,7 +20964,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c404); } + if (peg$silentFails === 0) { peg$fail(peg$c417); } } if (s0 !== peg$FAILED) { @@ -20932,11 +21001,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 44) { - s1 = peg$c408; + s1 = peg$c421; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c409); } + if (peg$silentFails === 0) { peg$fail(peg$c422); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -20955,7 +21024,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c407); } + if (peg$silentFails === 0) { peg$fail(peg$c420); } } if (s0 !== peg$FAILED) { @@ -20992,11 +21061,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 46) { - s1 = peg$c411; + s1 = peg$c424; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c412); } + if (peg$silentFails === 0) { peg$fail(peg$c425); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21015,7 +21084,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c410); } + if (peg$silentFails === 0) { peg$fail(peg$c423); } } if (s0 !== peg$FAILED) { @@ -21052,11 +21121,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 42) { - s1 = peg$c414; + s1 = peg$c427; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c415); } + if (peg$silentFails === 0) { peg$fail(peg$c428); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21075,7 +21144,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c413); } + if (peg$silentFails === 0) { peg$fail(peg$c426); } } if (s0 !== peg$FAILED) { @@ -21112,11 +21181,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 63) { - s1 = peg$c417; + s1 = peg$c430; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c418); } + if (peg$silentFails === 0) { peg$fail(peg$c431); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21135,7 +21204,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c416); } + if (peg$silentFails === 0) { peg$fail(peg$c429); } } if (s0 !== peg$FAILED) { @@ -21172,11 +21241,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 39) { - s1 = peg$c420; + s1 = peg$c433; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c421); } + if (peg$silentFails === 0) { peg$fail(peg$c434); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21195,7 +21264,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c419); } + if (peg$silentFails === 0) { peg$fail(peg$c432); } } if (s0 !== peg$FAILED) { @@ -21232,11 +21301,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 34) { - s1 = peg$c391; + s1 = peg$c396; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c392); } + if (peg$silentFails === 0) { peg$fail(peg$c397); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21255,7 +21324,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c422); } + if (peg$silentFails === 0) { peg$fail(peg$c435); } } if (s0 !== peg$FAILED) { @@ -21292,11 +21361,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 96) { - s1 = peg$c393; + s1 = peg$c403; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c394); } + if (peg$silentFails === 0) { peg$fail(peg$c404); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21315,7 +21384,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c423); } + if (peg$silentFails === 0) { peg$fail(peg$c436); } } if (s0 !== peg$FAILED) { @@ -21352,11 +21421,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 126) { - s1 = peg$c425; + s1 = peg$c438; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c426); } + if (peg$silentFails === 0) { peg$fail(peg$c439); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21375,7 +21444,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c424); } + if (peg$silentFails === 0) { peg$fail(peg$c437); } } if (s0 !== peg$FAILED) { @@ -21412,11 +21481,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 43) { - s1 = peg$c428; + s1 = peg$c441; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c429); } + if (peg$silentFails === 0) { peg$fail(peg$c442); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21435,7 +21504,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c427); } + if (peg$silentFails === 0) { peg$fail(peg$c440); } } if (s0 !== peg$FAILED) { @@ -21472,11 +21541,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 45) { - s1 = peg$c431; + s1 = peg$c444; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c432); } + if (peg$silentFails === 0) { peg$fail(peg$c445); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21495,7 +21564,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c430); } + if (peg$silentFails === 0) { peg$fail(peg$c443); } } if (s0 !== peg$FAILED) { @@ -21532,11 +21601,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 61) { - s1 = peg$c433; + s1 = peg$c446; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c434); } + if (peg$silentFails === 0) { peg$fail(peg$c447); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21592,11 +21661,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 38) { - s1 = peg$c436; + s1 = peg$c449; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c437); } + if (peg$silentFails === 0) { peg$fail(peg$c450); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21615,7 +21684,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c435); } + if (peg$silentFails === 0) { peg$fail(peg$c448); } } if (s0 !== peg$FAILED) { @@ -21652,11 +21721,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 124) { - s1 = peg$c439; + s1 = peg$c452; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c440); } + if (peg$silentFails === 0) { peg$fail(peg$c453); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21675,7 +21744,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c438); } + if (peg$silentFails === 0) { peg$fail(peg$c451); } } if (s0 !== peg$FAILED) { @@ -21712,11 +21781,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 37) { - s1 = peg$c441; + s1 = peg$c454; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c442); } + if (peg$silentFails === 0) { peg$fail(peg$c455); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21772,11 +21841,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 60) { - s1 = peg$c443; + s1 = peg$c456; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c444); } + if (peg$silentFails === 0) { peg$fail(peg$c457); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21832,11 +21901,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 62) { - s1 = peg$c445; + s1 = peg$c458; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c446); } + if (peg$silentFails === 0) { peg$fail(peg$c459); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21892,11 +21961,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 33) { - s1 = peg$c448; + s1 = peg$c461; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c449); } + if (peg$silentFails === 0) { peg$fail(peg$c462); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21915,7 +21984,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c447); } + if (peg$silentFails === 0) { peg$fail(peg$c460); } } if (s0 !== peg$FAILED) { @@ -21952,11 +22021,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 59) { - s1 = peg$c451; + s1 = peg$c464; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c452); } + if (peg$silentFails === 0) { peg$fail(peg$c465); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -21975,7 +22044,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c450); } + if (peg$silentFails === 0) { peg$fail(peg$c463); } } if (s0 !== peg$FAILED) { @@ -22035,7 +22104,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c453); } + if (peg$silentFails === 0) { peg$fail(peg$c466); } } if (s0 !== peg$FAILED) { @@ -22072,11 +22141,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 47) { - s1 = peg$c455; + s1 = peg$c468; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c456); } + if (peg$silentFails === 0) { peg$fail(peg$c469); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -22095,7 +22164,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c454); } + if (peg$silentFails === 0) { peg$fail(peg$c467); } } if (s0 !== peg$FAILED) { @@ -22132,11 +22201,11 @@ module.exports = (function() { peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 92) { - s1 = peg$c458; + s1 = peg$c471; peg$currPos++; } else { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c459); } + if (peg$silentFails === 0) { peg$fail(peg$c472); } } if (s1 !== peg$FAILED) { s2 = peg$parseo(); @@ -22155,7 +22224,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c457); } + if (peg$silentFails === 0) { peg$fail(peg$c470); } } if (s0 !== peg$FAILED) { @@ -22189,12 +22258,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c460) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c473) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c461); } + if (peg$silentFails === 0) { peg$fail(peg$c474); } } if (s0 !== peg$FAILED) { @@ -22228,12 +22297,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c462) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c475) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c463); } + if (peg$silentFails === 0) { peg$fail(peg$c476); } } if (s0 !== peg$FAILED) { @@ -22267,12 +22336,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c464) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c477) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c465); } + if (peg$silentFails === 0) { peg$fail(peg$c478); } } if (s0 !== peg$FAILED) { @@ -22306,12 +22375,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c466) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c479) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c467); } + if (peg$silentFails === 0) { peg$fail(peg$c480); } } if (s0 !== peg$FAILED) { @@ -22345,12 +22414,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c468) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c481) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c469); } + if (peg$silentFails === 0) { peg$fail(peg$c482); } } if (s0 !== peg$FAILED) { @@ -22384,12 +22453,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c470) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c483) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c471); } + if (peg$silentFails === 0) { peg$fail(peg$c484); } } if (s0 !== peg$FAILED) { @@ -22423,12 +22492,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c472) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c485) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c473); } + if (peg$silentFails === 0) { peg$fail(peg$c486); } } if (s0 !== peg$FAILED) { @@ -22462,12 +22531,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c474) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c487) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c475); } + if (peg$silentFails === 0) { peg$fail(peg$c488); } } if (s0 !== peg$FAILED) { @@ -22501,12 +22570,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c476) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c489) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c477); } + if (peg$silentFails === 0) { peg$fail(peg$c490); } } if (s0 !== peg$FAILED) { @@ -22540,12 +22609,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c478) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c491) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c479); } + if (peg$silentFails === 0) { peg$fail(peg$c492); } } if (s0 !== peg$FAILED) { @@ -22579,12 +22648,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c480) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c493) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c481); } + if (peg$silentFails === 0) { peg$fail(peg$c494); } } if (s0 !== peg$FAILED) { @@ -22618,12 +22687,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 13).toLowerCase() === peg$c482) { + if (input.substr(peg$currPos, 13).toLowerCase() === peg$c495) { s0 = input.substr(peg$currPos, 13); peg$currPos += 13; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c483); } + if (peg$silentFails === 0) { peg$fail(peg$c496); } } if (s0 !== peg$FAILED) { @@ -22657,12 +22726,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c484) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c497) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c485); } + if (peg$silentFails === 0) { peg$fail(peg$c498); } } if (s0 !== peg$FAILED) { @@ -22696,12 +22765,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c486) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c499) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c487); } + if (peg$silentFails === 0) { peg$fail(peg$c500); } } if (s0 !== peg$FAILED) { @@ -22735,12 +22804,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c488) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c501) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c489); } + if (peg$silentFails === 0) { peg$fail(peg$c502); } } if (s0 !== peg$FAILED) { @@ -22774,12 +22843,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c490) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c503) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c491); } + if (peg$silentFails === 0) { peg$fail(peg$c504); } } if (s0 !== peg$FAILED) { @@ -22813,12 +22882,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c492) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c505) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c493); } + if (peg$silentFails === 0) { peg$fail(peg$c506); } } if (s0 !== peg$FAILED) { @@ -22852,12 +22921,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c494) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c507) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c495); } + if (peg$silentFails === 0) { peg$fail(peg$c508); } } if (s0 !== peg$FAILED) { @@ -22891,12 +22960,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c496) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c509) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c497); } + if (peg$silentFails === 0) { peg$fail(peg$c510); } } if (s0 !== peg$FAILED) { @@ -22930,12 +22999,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c498) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c511) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c499); } + if (peg$silentFails === 0) { peg$fail(peg$c512); } } if (s0 !== peg$FAILED) { @@ -22969,12 +23038,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c500) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c513) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c501); } + if (peg$silentFails === 0) { peg$fail(peg$c514); } } if (s0 !== peg$FAILED) { @@ -23008,12 +23077,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c502) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c515) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c503); } + if (peg$silentFails === 0) { peg$fail(peg$c516); } } if (s0 !== peg$FAILED) { @@ -23047,12 +23116,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c504) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c517) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c505); } + if (peg$silentFails === 0) { peg$fail(peg$c518); } } if (s0 !== peg$FAILED) { @@ -23086,12 +23155,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8).toLowerCase() === peg$c506) { + if (input.substr(peg$currPos, 8).toLowerCase() === peg$c519) { s0 = input.substr(peg$currPos, 8); peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c507); } + if (peg$silentFails === 0) { peg$fail(peg$c520); } } if (s0 !== peg$FAILED) { @@ -23125,12 +23194,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 10).toLowerCase() === peg$c508) { + if (input.substr(peg$currPos, 10).toLowerCase() === peg$c521) { s0 = input.substr(peg$currPos, 10); peg$currPos += 10; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c509); } + if (peg$silentFails === 0) { peg$fail(peg$c522); } } if (s0 !== peg$FAILED) { @@ -23164,12 +23233,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c510) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c523) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c511); } + if (peg$silentFails === 0) { peg$fail(peg$c524); } } if (s0 !== peg$FAILED) { @@ -23203,12 +23272,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c512) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c525) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c513); } + if (peg$silentFails === 0) { peg$fail(peg$c526); } } if (s0 !== peg$FAILED) { @@ -23242,12 +23311,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 12).toLowerCase() === peg$c514) { + if (input.substr(peg$currPos, 12).toLowerCase() === peg$c527) { s0 = input.substr(peg$currPos, 12); peg$currPos += 12; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c515); } + if (peg$silentFails === 0) { peg$fail(peg$c528); } } if (s0 !== peg$FAILED) { @@ -23281,12 +23350,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 12).toLowerCase() === peg$c516) { + if (input.substr(peg$currPos, 12).toLowerCase() === peg$c529) { s0 = input.substr(peg$currPos, 12); peg$currPos += 12; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c517); } + if (peg$silentFails === 0) { peg$fail(peg$c530); } } if (s0 !== peg$FAILED) { @@ -23320,12 +23389,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 17).toLowerCase() === peg$c518) { + if (input.substr(peg$currPos, 17).toLowerCase() === peg$c531) { s0 = input.substr(peg$currPos, 17); peg$currPos += 17; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c519); } + if (peg$silentFails === 0) { peg$fail(peg$c532); } } if (s0 !== peg$FAILED) { @@ -23359,12 +23428,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8).toLowerCase() === peg$c520) { + if (input.substr(peg$currPos, 8).toLowerCase() === peg$c533) { s0 = input.substr(peg$currPos, 8); peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c521); } + if (peg$silentFails === 0) { peg$fail(peg$c534); } } if (s0 !== peg$FAILED) { @@ -23398,12 +23467,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c522) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c535) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c523); } + if (peg$silentFails === 0) { peg$fail(peg$c536); } } if (s0 !== peg$FAILED) { @@ -23437,12 +23506,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 10).toLowerCase() === peg$c524) { + if (input.substr(peg$currPos, 10).toLowerCase() === peg$c537) { s0 = input.substr(peg$currPos, 10); peg$currPos += 10; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c525); } + if (peg$silentFails === 0) { peg$fail(peg$c538); } } if (s0 !== peg$FAILED) { @@ -23476,12 +23545,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8).toLowerCase() === peg$c526) { + if (input.substr(peg$currPos, 8).toLowerCase() === peg$c539) { s0 = input.substr(peg$currPos, 8); peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c527); } + if (peg$silentFails === 0) { peg$fail(peg$c540); } } if (s0 !== peg$FAILED) { @@ -23515,12 +23584,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c528) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c541) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c529); } + if (peg$silentFails === 0) { peg$fail(peg$c542); } } if (s0 !== peg$FAILED) { @@ -23554,12 +23623,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c530) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c543) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c531); } + if (peg$silentFails === 0) { peg$fail(peg$c544); } } if (s0 !== peg$FAILED) { @@ -23593,12 +23662,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c532) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c545) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c533); } + if (peg$silentFails === 0) { peg$fail(peg$c546); } } if (s0 !== peg$FAILED) { @@ -23632,12 +23701,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8).toLowerCase() === peg$c534) { + if (input.substr(peg$currPos, 8).toLowerCase() === peg$c547) { s0 = input.substr(peg$currPos, 8); peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c535); } + if (peg$silentFails === 0) { peg$fail(peg$c548); } } if (s0 !== peg$FAILED) { @@ -23671,12 +23740,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c536) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c549) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c537); } + if (peg$silentFails === 0) { peg$fail(peg$c550); } } if (s0 !== peg$FAILED) { @@ -23710,12 +23779,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c538) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c551) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c539); } + if (peg$silentFails === 0) { peg$fail(peg$c552); } } if (s0 !== peg$FAILED) { @@ -23749,12 +23818,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c540) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c553) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c541); } + if (peg$silentFails === 0) { peg$fail(peg$c554); } } if (s0 !== peg$FAILED) { @@ -23788,12 +23857,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c542) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c555) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c543); } + if (peg$silentFails === 0) { peg$fail(peg$c556); } } if (s0 !== peg$FAILED) { @@ -23827,12 +23896,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c544) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c557) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c545); } + if (peg$silentFails === 0) { peg$fail(peg$c558); } } if (s0 !== peg$FAILED) { @@ -23866,12 +23935,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c546) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c559) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c547); } + if (peg$silentFails === 0) { peg$fail(peg$c560); } } if (s0 !== peg$FAILED) { @@ -23905,12 +23974,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c548) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c561) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c549); } + if (peg$silentFails === 0) { peg$fail(peg$c562); } } if (s0 !== peg$FAILED) { @@ -23944,12 +24013,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c550) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c563) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c551); } + if (peg$silentFails === 0) { peg$fail(peg$c564); } } if (s0 !== peg$FAILED) { @@ -23983,12 +24052,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c552) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c565) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c553); } + if (peg$silentFails === 0) { peg$fail(peg$c566); } } if (s0 !== peg$FAILED) { @@ -24022,12 +24091,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c554) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c567) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c555); } + if (peg$silentFails === 0) { peg$fail(peg$c568); } } if (s0 !== peg$FAILED) { @@ -24061,12 +24130,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c556) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c569) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c557); } + if (peg$silentFails === 0) { peg$fail(peg$c570); } } if (s0 !== peg$FAILED) { @@ -24100,12 +24169,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c558) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c571) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c559); } + if (peg$silentFails === 0) { peg$fail(peg$c572); } } if (s0 !== peg$FAILED) { @@ -24139,12 +24208,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c560) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c573) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c561); } + if (peg$silentFails === 0) { peg$fail(peg$c574); } } if (s0 !== peg$FAILED) { @@ -24178,12 +24247,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c562) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c575) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c563); } + if (peg$silentFails === 0) { peg$fail(peg$c576); } } if (s0 !== peg$FAILED) { @@ -24217,12 +24286,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c564) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c577) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c565); } + if (peg$silentFails === 0) { peg$fail(peg$c578); } } if (s0 !== peg$FAILED) { @@ -24256,12 +24325,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c566) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c579) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c567); } + if (peg$silentFails === 0) { peg$fail(peg$c580); } } if (s0 !== peg$FAILED) { @@ -24295,12 +24364,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c568) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c581) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c569); } + if (peg$silentFails === 0) { peg$fail(peg$c582); } } if (s0 !== peg$FAILED) { @@ -24334,12 +24403,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c570) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c583) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c571); } + if (peg$silentFails === 0) { peg$fail(peg$c584); } } if (s0 !== peg$FAILED) { @@ -24373,12 +24442,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c572) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c585) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c573); } + if (peg$silentFails === 0) { peg$fail(peg$c586); } } if (s0 !== peg$FAILED) { @@ -24412,12 +24481,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c574) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c587) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c575); } + if (peg$silentFails === 0) { peg$fail(peg$c588); } } if (s0 !== peg$FAILED) { @@ -24451,12 +24520,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c576) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c589) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c577); } + if (peg$silentFails === 0) { peg$fail(peg$c590); } } if (s0 !== peg$FAILED) { @@ -24490,12 +24559,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c578) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c591) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c579); } + if (peg$silentFails === 0) { peg$fail(peg$c592); } } if (s0 !== peg$FAILED) { @@ -24529,12 +24598,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c580) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c593) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c581); } + if (peg$silentFails === 0) { peg$fail(peg$c594); } } if (s0 !== peg$FAILED) { @@ -24568,12 +24637,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c582) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c595) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c583); } + if (peg$silentFails === 0) { peg$fail(peg$c596); } } if (s0 !== peg$FAILED) { @@ -24607,12 +24676,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c584) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c597) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c585); } + if (peg$silentFails === 0) { peg$fail(peg$c598); } } if (s0 !== peg$FAILED) { @@ -24646,12 +24715,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c586) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c599) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c587); } + if (peg$silentFails === 0) { peg$fail(peg$c600); } } if (s0 !== peg$FAILED) { @@ -24685,12 +24754,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c588) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c601) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c589); } + if (peg$silentFails === 0) { peg$fail(peg$c602); } } if (s0 !== peg$FAILED) { @@ -24724,12 +24793,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c590) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c603) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c591); } + if (peg$silentFails === 0) { peg$fail(peg$c604); } } if (s0 !== peg$FAILED) { @@ -24763,12 +24832,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c592) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c605) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c593); } + if (peg$silentFails === 0) { peg$fail(peg$c606); } } if (s0 !== peg$FAILED) { @@ -24802,12 +24871,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c594) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c607) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c595); } + if (peg$silentFails === 0) { peg$fail(peg$c608); } } if (s0 !== peg$FAILED) { @@ -24841,12 +24910,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c596) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c609) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c597); } + if (peg$silentFails === 0) { peg$fail(peg$c610); } } if (s0 !== peg$FAILED) { @@ -24880,12 +24949,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c598) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c611) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c599); } + if (peg$silentFails === 0) { peg$fail(peg$c612); } } if (s0 !== peg$FAILED) { @@ -24919,12 +24988,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c600) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c613) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c601); } + if (peg$silentFails === 0) { peg$fail(peg$c614); } } if (s0 !== peg$FAILED) { @@ -24958,12 +25027,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c602) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c615) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c603); } + if (peg$silentFails === 0) { peg$fail(peg$c616); } } if (s0 !== peg$FAILED) { @@ -24997,12 +25066,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c604) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c617) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c605); } + if (peg$silentFails === 0) { peg$fail(peg$c618); } } if (s0 !== peg$FAILED) { @@ -25036,12 +25105,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c606) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c619) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c607); } + if (peg$silentFails === 0) { peg$fail(peg$c620); } } if (s0 !== peg$FAILED) { @@ -25075,12 +25144,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c608) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c621) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c609); } + if (peg$silentFails === 0) { peg$fail(peg$c622); } } if (s0 !== peg$FAILED) { @@ -25114,12 +25183,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c610) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c623) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c611); } + if (peg$silentFails === 0) { peg$fail(peg$c624); } } if (s0 !== peg$FAILED) { @@ -25153,12 +25222,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c612) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c625) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c613); } + if (peg$silentFails === 0) { peg$fail(peg$c626); } } if (s0 !== peg$FAILED) { @@ -25192,12 +25261,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c614) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c627) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c615); } + if (peg$silentFails === 0) { peg$fail(peg$c628); } } if (s0 !== peg$FAILED) { @@ -25231,12 +25300,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c616) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c629) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c617); } + if (peg$silentFails === 0) { peg$fail(peg$c630); } } if (s0 !== peg$FAILED) { @@ -25270,12 +25339,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c618) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c631) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c619); } + if (peg$silentFails === 0) { peg$fail(peg$c632); } } if (s0 !== peg$FAILED) { @@ -25309,12 +25378,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c620) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c633) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c621); } + if (peg$silentFails === 0) { peg$fail(peg$c634); } } if (s0 !== peg$FAILED) { @@ -25348,12 +25417,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c622) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c635) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c623); } + if (peg$silentFails === 0) { peg$fail(peg$c636); } } if (s0 !== peg$FAILED) { @@ -25387,12 +25456,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c624) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c637) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c625); } + if (peg$silentFails === 0) { peg$fail(peg$c638); } } if (s0 !== peg$FAILED) { @@ -25426,12 +25495,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c626) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c639) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c627); } + if (peg$silentFails === 0) { peg$fail(peg$c640); } } if (s0 !== peg$FAILED) { @@ -25465,12 +25534,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c628) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c641) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c629); } + if (peg$silentFails === 0) { peg$fail(peg$c642); } } if (s0 !== peg$FAILED) { @@ -25504,12 +25573,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c630) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c643) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c631); } + if (peg$silentFails === 0) { peg$fail(peg$c644); } } if (s0 !== peg$FAILED) { @@ -25543,12 +25612,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c632) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c645) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c633); } + if (peg$silentFails === 0) { peg$fail(peg$c646); } } if (s0 !== peg$FAILED) { @@ -25582,12 +25651,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c634) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c647) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c635); } + if (peg$silentFails === 0) { peg$fail(peg$c648); } } if (s0 !== peg$FAILED) { @@ -25621,12 +25690,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c636) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c649) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c637); } + if (peg$silentFails === 0) { peg$fail(peg$c650); } } if (s0 !== peg$FAILED) { @@ -25660,12 +25729,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c638) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c651) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c639); } + if (peg$silentFails === 0) { peg$fail(peg$c652); } } if (s0 !== peg$FAILED) { @@ -25699,12 +25768,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c640) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c653) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c641); } + if (peg$silentFails === 0) { peg$fail(peg$c654); } } if (s0 !== peg$FAILED) { @@ -25738,12 +25807,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c642) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c655) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c643); } + if (peg$silentFails === 0) { peg$fail(peg$c656); } } if (s0 !== peg$FAILED) { @@ -25777,12 +25846,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 10).toLowerCase() === peg$c644) { + if (input.substr(peg$currPos, 10).toLowerCase() === peg$c657) { s0 = input.substr(peg$currPos, 10); peg$currPos += 10; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c645); } + if (peg$silentFails === 0) { peg$fail(peg$c658); } } if (s0 !== peg$FAILED) { @@ -25816,12 +25885,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c646) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c659) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c647); } + if (peg$silentFails === 0) { peg$fail(peg$c660); } } if (s0 !== peg$FAILED) { @@ -25855,12 +25924,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c648) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c661) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c649); } + if (peg$silentFails === 0) { peg$fail(peg$c662); } } if (s0 !== peg$FAILED) { @@ -25894,12 +25963,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c650) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c663) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c651); } + if (peg$silentFails === 0) { peg$fail(peg$c664); } } if (s0 !== peg$FAILED) { @@ -25933,12 +26002,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c652) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c665) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c653); } + if (peg$silentFails === 0) { peg$fail(peg$c666); } } if (s0 !== peg$FAILED) { @@ -25972,12 +26041,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c654) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c667) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c655); } + if (peg$silentFails === 0) { peg$fail(peg$c668); } } if (s0 !== peg$FAILED) { @@ -26011,12 +26080,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8).toLowerCase() === peg$c656) { + if (input.substr(peg$currPos, 8).toLowerCase() === peg$c669) { s0 = input.substr(peg$currPos, 8); peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c657); } + if (peg$silentFails === 0) { peg$fail(peg$c670); } } if (s0 !== peg$FAILED) { @@ -26050,12 +26119,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c658) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c671) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c659); } + if (peg$silentFails === 0) { peg$fail(peg$c672); } } if (s0 !== peg$FAILED) { @@ -26089,12 +26158,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8).toLowerCase() === peg$c660) { + if (input.substr(peg$currPos, 8).toLowerCase() === peg$c673) { s0 = input.substr(peg$currPos, 8); peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c661); } + if (peg$silentFails === 0) { peg$fail(peg$c674); } } if (s0 !== peg$FAILED) { @@ -26128,12 +26197,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c662) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c675) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c663); } + if (peg$silentFails === 0) { peg$fail(peg$c676); } } if (s0 !== peg$FAILED) { @@ -26167,12 +26236,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c664) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c677) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c665); } + if (peg$silentFails === 0) { peg$fail(peg$c678); } } if (s0 !== peg$FAILED) { @@ -26206,12 +26275,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c666) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c679) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c667); } + if (peg$silentFails === 0) { peg$fail(peg$c680); } } if (s0 !== peg$FAILED) { @@ -26245,12 +26314,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c668) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c681) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c669); } + if (peg$silentFails === 0) { peg$fail(peg$c682); } } if (s0 !== peg$FAILED) { @@ -26284,12 +26353,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 3).toLowerCase() === peg$c670) { + if (input.substr(peg$currPos, 3).toLowerCase() === peg$c683) { s0 = input.substr(peg$currPos, 3); peg$currPos += 3; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c671); } + if (peg$silentFails === 0) { peg$fail(peg$c684); } } if (s0 !== peg$FAILED) { @@ -26323,12 +26392,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c672) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c685) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c673); } + if (peg$silentFails === 0) { peg$fail(peg$c686); } } if (s0 !== peg$FAILED) { @@ -26362,12 +26431,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c674) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c687) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c675); } + if (peg$silentFails === 0) { peg$fail(peg$c688); } } if (s0 !== peg$FAILED) { @@ -26401,12 +26470,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 9).toLowerCase() === peg$c676) { + if (input.substr(peg$currPos, 9).toLowerCase() === peg$c689) { s0 = input.substr(peg$currPos, 9); peg$currPos += 9; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c677); } + if (peg$silentFails === 0) { peg$fail(peg$c690); } } if (s0 !== peg$FAILED) { @@ -26440,12 +26509,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c678) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c691) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c679); } + if (peg$silentFails === 0) { peg$fail(peg$c692); } } if (s0 !== peg$FAILED) { @@ -26479,12 +26548,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 2).toLowerCase() === peg$c680) { + if (input.substr(peg$currPos, 2).toLowerCase() === peg$c693) { s0 = input.substr(peg$currPos, 2); peg$currPos += 2; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c681); } + if (peg$silentFails === 0) { peg$fail(peg$c694); } } if (s0 !== peg$FAILED) { @@ -26518,12 +26587,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 11).toLowerCase() === peg$c682) { + if (input.substr(peg$currPos, 11).toLowerCase() === peg$c695) { s0 = input.substr(peg$currPos, 11); peg$currPos += 11; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c683); } + if (peg$silentFails === 0) { peg$fail(peg$c696); } } if (s0 !== peg$FAILED) { @@ -26557,12 +26626,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c684) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c697) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c685); } + if (peg$silentFails === 0) { peg$fail(peg$c698); } } if (s0 !== peg$FAILED) { @@ -26596,12 +26665,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c686) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c699) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c687); } + if (peg$silentFails === 0) { peg$fail(peg$c700); } } if (s0 !== peg$FAILED) { @@ -26635,12 +26704,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c688) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c701) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c689); } + if (peg$silentFails === 0) { peg$fail(peg$c702); } } if (s0 !== peg$FAILED) { @@ -26674,12 +26743,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c690) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c703) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c691); } + if (peg$silentFails === 0) { peg$fail(peg$c704); } } if (s0 !== peg$FAILED) { @@ -26713,12 +26782,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c692) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c705) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c693); } + if (peg$silentFails === 0) { peg$fail(peg$c706); } } if (s0 !== peg$FAILED) { @@ -26752,12 +26821,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c694) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c707) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c695); } + if (peg$silentFails === 0) { peg$fail(peg$c708); } } if (s0 !== peg$FAILED) { @@ -26791,12 +26860,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 6).toLowerCase() === peg$c696) { + if (input.substr(peg$currPos, 6).toLowerCase() === peg$c709) { s0 = input.substr(peg$currPos, 6); peg$currPos += 6; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c697); } + if (peg$silentFails === 0) { peg$fail(peg$c710); } } if (s0 !== peg$FAILED) { @@ -26830,12 +26899,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c698) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c711) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c699); } + if (peg$silentFails === 0) { peg$fail(peg$c712); } } if (s0 !== peg$FAILED) { @@ -26869,12 +26938,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c700) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c713) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c701); } + if (peg$silentFails === 0) { peg$fail(peg$c714); } } if (s0 !== peg$FAILED) { @@ -26908,12 +26977,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c702) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c715) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c703); } + if (peg$silentFails === 0) { peg$fail(peg$c716); } } if (s0 !== peg$FAILED) { @@ -26947,12 +27016,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 5).toLowerCase() === peg$c704) { + if (input.substr(peg$currPos, 5).toLowerCase() === peg$c717) { s0 = input.substr(peg$currPos, 5); peg$currPos += 5; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c705); } + if (peg$silentFails === 0) { peg$fail(peg$c718); } } if (s0 !== peg$FAILED) { @@ -26986,12 +27055,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 4).toLowerCase() === peg$c706) { + if (input.substr(peg$currPos, 4).toLowerCase() === peg$c719) { s0 = input.substr(peg$currPos, 4); peg$currPos += 4; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c707); } + if (peg$silentFails === 0) { peg$fail(peg$c720); } } if (s0 !== peg$FAILED) { @@ -27025,12 +27094,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 7).toLowerCase() === peg$c708) { + if (input.substr(peg$currPos, 7).toLowerCase() === peg$c721) { s0 = input.substr(peg$currPos, 7); peg$currPos += 7; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c709); } + if (peg$silentFails === 0) { peg$fail(peg$c722); } } if (s0 !== peg$FAILED) { @@ -27068,7 +27137,7 @@ module.exports = (function() { s1 = peg$parsereserved_word_list(); if (s1 !== peg$FAILED) { peg$savedPos = s0; - s1 = peg$c710(s1); + s1 = peg$c723(s1); } s0 = s1; @@ -27623,7 +27692,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c711); } + if (peg$silentFails === 0) { peg$fail(peg$c724); } } if (s0 !== peg$FAILED) { @@ -27688,7 +27757,7 @@ module.exports = (function() { peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c712); } + if (peg$silentFails === 0) { peg$fail(peg$c725); } } if (s0 !== peg$FAILED) { @@ -28026,12 +28095,12 @@ module.exports = (function() { peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c714); } + if (peg$silentFails === 0) { peg$fail(peg$c727); } } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c713); } + if (peg$silentFails === 0) { peg$fail(peg$c726); } } if (s0 !== peg$FAILED) { @@ -28230,17 +28299,17 @@ module.exports = (function() { }); peg$silentFails++; - if (peg$c716.test(input.charAt(peg$currPos))) { + if (peg$c729.test(input.charAt(peg$currPos))) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c717); } + if (peg$silentFails === 0) { peg$fail(peg$c730); } } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c715); } + if (peg$silentFails === 0) { peg$fail(peg$c728); } } if (s0 !== peg$FAILED) { @@ -28275,17 +28344,17 @@ module.exports = (function() { }); peg$silentFails++; - if (peg$c719.test(input.charAt(peg$currPos))) { + if (peg$c732.test(input.charAt(peg$currPos))) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c720); } + if (peg$silentFails === 0) { peg$fail(peg$c733); } } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c718); } + if (peg$silentFails === 0) { peg$fail(peg$c731); } } if (s0 !== peg$FAILED) { @@ -28319,12 +28388,12 @@ module.exports = (function() { location: peg$computeLocation(startPos, startPos) }); - if (input.substr(peg$currPos, 8) === peg$c721) { - s0 = peg$c721; + if (input.substr(peg$currPos, 8) === peg$c734) { + s0 = peg$c734; peg$currPos += 8; } else { s0 = peg$FAILED; - if (peg$silentFails === 0) { peg$fail(peg$c722); } + if (peg$silentFails === 0) { peg$fail(peg$c735); } } if (s0 !== peg$FAILED) { diff --git a/src/grammar.pegjs b/src/grammar.pegjs index 4ddd6c2..2dcca32 100644 --- a/src/grammar.pegjs +++ b/src/grammar.pegjs @@ -356,8 +356,8 @@ literal_date "Date Literal" /** * Notes: - * 1) SQL uses single quotes for string literals. - * 2) Value is an identier or a string literal based on context. + * 1) [ENFORCED] SQL uses single quotes for string literals. + * 2) [NOT IMPLEMENTED] Value is an identier or a string literal based on context. * {@link https://www.sqlite.org/lang_keywords.html} */ literal_string "String Literal" @@ -377,7 +377,7 @@ literal_string_single "Single-quoted String Literal" * @note Unescaped the pairs of literal single quotation marks * @note Not sure if the BLOB type should be un-escaped */ - return util.unescape(util.textNode(s)); + return util.unescape(util.nodeToString(s), "'"); } literal_string_schar @@ -1404,7 +1404,7 @@ name_constraint_column = name name_collation - = name + = name_unquoted name_index = name @@ -1416,10 +1416,10 @@ name_view = name name_function - = name + = name_unquoted name_module - = name + = name_unquoted /* Column datatypes */ @@ -1437,11 +1437,17 @@ datatype_text "TEXT Datatype Name" { return util.key(t); } datatype_real "REAL Datatype Name" - = t:( ( "DOUBLE"i ( e "PRECISION"i )? ) - / "FLOAT"i - / "REAL"i ) + = t:( datatype_real_double / "FLOAT"i / "REAL"i ) { return util.key(t); } +datatype_real_double + = d:( "DOUBLE"i ) p:( real_double_precision )? + { return util.compose([d, p]); } + +real_double_precision + = e p:( "PRECISION"i ) + { return p; } + datatype_numeric "NUMERIC Datatype Name" = t:( "NUMERIC"i / "DECIMAL"i @@ -2180,9 +2186,6 @@ drop_ie name_char = [a-z0-9\-\_]i -name_char_quoted - = [a-z0-9\-\_ ]i - name = name_bracketed / name_backticked @@ -2190,7 +2193,8 @@ name / name_unquoted reserved_nodes - = ( datatype_types / reserved_words ) !name_char + = r:( datatype_types / reserved_words ) !name_char + { return util.textNode(r); } name_unquoted = !reserved_nodes n:( name_char )+ @@ -2198,17 +2202,28 @@ name_unquoted /** @note Non-standard legacy format */ name_bracketed - = sym_bopen n:( !sym_bclose name_char_quoted )+ o sym_bclose + = sym_bopen n:( name_bracketed_schar )+ o sym_bclose { return util.textNode(n); } +/* TODO: Should this be `whitespace_space` or just `o` */ +name_bracketed_schar + = !( whitespace_space* "]" ) n:( [^\]] ) + { return n; } + name_dblquoted - = '"' n:( !'"' name_char_quoted )+ '"' - { return util.textNode(n); } + = '"' n:( name_dblquoted_schar )+ '"' + { return util.unescape(util.nodeToString(n), '"'); } + +name_dblquoted_schar + = '""' / [^\"] /** @note Non-standard legacy format */ name_backticked - = '`' n:( !'`' name_char_quoted )+ '`' - { return util.textNode(n); } + = '`' n:( name_backticked_schar )+ '`' + { return util.unescape(util.nodeToString(n), '`'); } + +name_backticked_schar + = '``' / [^\`] /* Symbols */ diff --git a/src/parser-util.js b/src/parser-util.js index 3b01814..c9d0250 100644 --- a/src/parser-util.js +++ b/src/parser-util.js @@ -89,8 +89,13 @@ function textNode(elem) { return nodeToString(elem).trim(); } -function unescape(str) { - return str.replace(/\'{2}/g, '\''); +function unescape(str, quoteChar) { + var re; + if (quoteChar == null) { + quoteChar = '\''; + } + re = new RegExp(quoteChar + '{2}', 'g'); + return str.replace(re, quoteChar); } function extend() { @@ -160,10 +165,6 @@ function findWhere(arr, props) { return null; } -function keywordify(elem) { - return textNode(elem).toUpperCase(); -} - function key(elem) { return textNode(elem).toLowerCase(); } @@ -179,7 +180,6 @@ module.exports = { 'nodeToString': nodeToString, 'textNode': textNode, 'unescape': unescape, - 'keywordify': keywordify, 'key': key, // Type detection 'typed': typed, From 94dd12c12a0fc18487be6c7383afc3bdbaaa6f9b Mon Sep 17 00:00:00 2001 From: Nick Wronski Date: Wed, 1 Jul 2015 22:41:04 -0400 Subject: [PATCH 04/10] did a lot of cleanup on demo styles, responsive layout, error notification. changed error message format for smart errors. refs #2 --- README.md | 2 +- demo/css/demo.css | 109 ++++++++++++++++++++++--------------- demo/index.html | 19 +++---- demo/js/demo.js | 42 ++++---------- demo/sqlite-parser-demo.js | 46 +++++----------- dist/sqlite-parser.js | 4 +- lib/tracer.js | 4 +- src/tracer.js | 4 +- test/index-spec.js | 2 +- 9 files changed, 106 insertions(+), 126 deletions(-) diff --git a/README.md b/README.md index 58ae4f5..a240b96 100644 --- a/README.md +++ b/README.md @@ -143,7 +143,7 @@ which will automatically compile the parser and run the tests in `test/index-spe Optionally, run `grunt debug` to get extended output and start a file watcher. -Finally, you should run `grunt release` before creating any PR to run all tests +Finally, you should run `grunt release`, before creating any PR, to run all tests and rebuild the `dist/` and `demo/` folders. ### Writing tests diff --git a/demo/css/demo.css b/demo/css/demo.css index 8c884d3..d30749c 100644 --- a/demo/css/demo.css +++ b/demo/css/demo.css @@ -25,63 +25,63 @@ body { } .container, footer, header { - position: relative; margin: .5em; + position: relative; + margin: 8px; font-size: 14px; + line-height: 16px; } -.container h3 { - border-bottom: 1px solid #585858; - padding: 8px; - margin: 0; -} - -.container .left h3 { - background-color: #2f6a9e; +.left { + margin-bottom: 8px; + border: 1px solid #d7782c; } -.container .right h3 { - background-color: #329e2f; +.right { + border: 1px solid #77A025; } -.left, .right { - min-height: 400px; - height: 400px; - border: 1px solid #585858; +.right.alert { + border: 1px solid #E42267; } -.left { - margin-bottom: .5em; +.container h3 { + padding: 8px; + margin: 0; + height: 32px; } -.CodeMirror { - height: 364px !important; +.container .left h3 { + background-color: #ec9652; + color: #aa5714; + border-bottom: 1px solid #d7782c; } -.panel { - background: #7A2716; - padding: 3px 7px; - font-size: 12px; +.container .right h3 { + background-color: #daf6a1; + color: #557B0A; + border-bottom: 1px solid #77A025; } -.remove-panel { - float: right; - cursor: pointer; +.container .right.alert h3 { + background-color: #fca4c3; + color: #CB0048; + border-bottom: 1px solid #E42267; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } -.panel.top, .panel.after-top { - border-bottom: 1px solid #585858; -} -.panel.bottom, .panel.before-bottom { - border-top: 1px solid #585858; +.CodeMirror { + height: 360px !important; } footer, header { - padding: 0.5em; + padding: 8px; color: #dbdbdb; } footer h3, header h2 { - width: 500px; + width: 350px; } footer h3 { @@ -100,24 +100,45 @@ footer a:hover, footer a:active { } -@media screen and (min-width: 84.75em ) { - .right, .left { - min-height: 800px; - height: 800px; - } - - .left { - margin-right: 49.5em; - } - +@media screen and (min-width: 996px) { .right { position: absolute; top: 0; right: 0; - width: 48.75em; } .CodeMirror { height: 764px !important; } } + +@media screen and (max-width: 1233px) and (min-width: 996px) { + + .left { + margin-right: 488px; + } + + .right { + width: 480px; + } +} + +@media screen and (max-width: 1501px) and (min-width: 1234px) { + .left { + margin-right: 622px; + } + + .right { + width: 614px; + } +} + +@media screen and (min-width: 1502px) { + .left { + margin-right: 755px; + } + + .right { + width: 747px; + } +} diff --git a/demo/index.html b/demo/index.html index 6a444e7..b0cc3c2 100644 --- a/demo/index.html +++ b/demo/index.html @@ -9,10 +9,6 @@ - - - - @@ -22,9 +18,9 @@

sqlite-parser demo

-
-

SQLite Statement

-
-
-

Syntax Tree

- +
+

Syntax Tree

+
@@ -61,5 +57,8 @@

© 2015 Code School

+ + + diff --git a/demo/js/demo.js b/demo/js/demo.js index da95c96..ad77826 100644 --- a/demo/js/demo.js +++ b/demo/js/demo.js @@ -1,7 +1,8 @@ (function (root) { var sqliteParser = require('sqlite-parser'), CodeMirror = require('codemirror'), - panel; + panel = document.getElementById('ast'), + msgArea = document.getElementById('ast-header'); require('foldcode'); require('foldgutter'); @@ -26,36 +27,14 @@ }; } - function makePanel(where, content) { - var node = document.createElement("div"); - var widget, close, label; - - node.id = "panel-ast"; - node.className = "panel " + where; - close = node.appendChild(document.createElement("a")); - close.setAttribute("title", "Dismiss"); - close.setAttribute("class", "remove-panel"); - close.textContent = "✖"; - CodeMirror.on(close, "click", clearError); - label = node.appendChild(document.createElement("span")); - label.textContent = content; - return node; - } - function clearError() { - if (panel != null) { - panel.clear(); - panel = null; - } + msgArea.textContent = "Syntax Tree"; + panel.className = 'right'; } function setError(cm, message) { - var panelElem = document.getElementById('panel-ast'); - if (panelElem) { - panelElem.querySelector('span').textContent = message; - } else { - panel = cm.addPanel(makePanel("top", message), {position: "top"}); - } + panel.className = 'alert right'; + msgArea.textContent = message; } function setContent(cm) { @@ -74,8 +53,9 @@ var output = setContent(dest); sqliteParser(source.getValue()) .then(output, function (err) { - var location = err.location != null ? " (Line: " + err.location.start.line + ", Column: " + err.location.start.column + ")" : ""; - setError(dest, "[" + err.name + "] " + err.message + location); + var location = err.location != null ? "[" + err.location.start.line + + ", " + err.location.start.column + "] " : ""; + setError(dest, location + err.message); }); } @@ -87,7 +67,7 @@ } var loadDemo = function () { - var sql = CodeMirror.fromTextArea(document.getElementById('sql'), { + var sql = CodeMirror.fromTextArea(document.getElementById('sql-text'), { mode: 'text/x-plsql', lineNumbers: true, theme: 'monokai', @@ -95,7 +75,7 @@ lineWrapping: true, lineWrapping: true }), - ast = CodeMirror.fromTextArea(document.getElementById('ast'), { + ast = CodeMirror.fromTextArea(document.getElementById('ast-text'), { lineNumbers: true, theme: 'monokai', lineWrapping: true, diff --git a/demo/sqlite-parser-demo.js b/demo/sqlite-parser-demo.js index 0c7247d..f8f1d45 100644 --- a/demo/sqlite-parser-demo.js +++ b/demo/sqlite-parser-demo.js @@ -3,7 +3,8 @@ require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof requ (function (root) { var sqliteParser = require('sqlite-parser'), CodeMirror = require('codemirror'), - panel; + panel = document.getElementById('ast'), + msgArea = document.getElementById('ast-header'); require('foldcode'); require('foldgutter'); @@ -28,36 +29,14 @@ require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof requ }; } - function makePanel(where, content) { - var node = document.createElement("div"); - var widget, close, label; - - node.id = "panel-ast"; - node.className = "panel " + where; - close = node.appendChild(document.createElement("a")); - close.setAttribute("title", "Dismiss"); - close.setAttribute("class", "remove-panel"); - close.textContent = "✖"; - CodeMirror.on(close, "click", clearError); - label = node.appendChild(document.createElement("span")); - label.textContent = content; - return node; - } - function clearError() { - if (panel != null) { - panel.clear(); - panel = null; - } + msgArea.textContent = "Syntax Tree"; + panel.className = 'right'; } function setError(cm, message) { - var panelElem = document.getElementById('panel-ast'); - if (panelElem) { - panelElem.querySelector('span').textContent = message; - } else { - panel = cm.addPanel(makePanel("top", message), {position: "top"}); - } + panel.className = 'alert right'; + msgArea.textContent = message; } function setContent(cm) { @@ -76,8 +55,9 @@ require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof requ var output = setContent(dest); sqliteParser(source.getValue()) .then(output, function (err) { - var location = err.location != null ? " (Line: " + err.location.start.line + ", Column: " + err.location.start.column + ")" : ""; - setError(dest, "[" + err.name + "] " + err.message + location); + var location = err.location != null ? "[" + err.location.start.line + + ", " + err.location.start.column + "] " : ""; + setError(dest, location + err.message); }); } @@ -89,7 +69,7 @@ require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof requ } var loadDemo = function () { - var sql = CodeMirror.fromTextArea(document.getElementById('sql'), { + var sql = CodeMirror.fromTextArea(document.getElementById('sql-text'), { mode: 'text/x-plsql', lineNumbers: true, theme: 'monokai', @@ -97,7 +77,7 @@ require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof requ lineWrapping: true, lineWrapping: true }), - ast = CodeMirror.fromTextArea(document.getElementById('ast'), { + ast = CodeMirror.fromTextArea(document.getElementById('ast-text'), { lineNumbers: true, theme: 'monokai', lineWrapping: true, @@ -28833,8 +28813,8 @@ module.exports = (function (_) { if (chain.length) { // Don't accidentally repeat the first description in the output chainDetail = _(chain).rest().takeRight(2).value(); - message = 'There is a syntax error near ' + _.first(chain) + - ' [' + chainDetail.join(', ') + ']' + ''; + message = 'Syntax error found near ' + _.first(chain) + + ' (' + chainDetail.join(', ') + ')' + ''; location = _.findLast(this.events, {description: _.last(chain)}).location; throw { 'name': 'SyntaxError', diff --git a/dist/sqlite-parser.js b/dist/sqlite-parser.js index b9eb2d2..9626a31 100644 --- a/dist/sqlite-parser.js +++ b/dist/sqlite-parser.js @@ -28743,8 +28743,8 @@ module.exports = (function (_) { if (chain.length) { // Don't accidentally repeat the first description in the output chainDetail = _(chain).rest().takeRight(2).value(); - message = 'There is a syntax error near ' + _.first(chain) + - ' [' + chainDetail.join(', ') + ']' + ''; + message = 'Syntax error found near ' + _.first(chain) + + ' (' + chainDetail.join(', ') + ')' + ''; location = _.findLast(this.events, {description: _.last(chain)}).location; throw { 'name': 'SyntaxError', diff --git a/lib/tracer.js b/lib/tracer.js index f3a5ece..dfb8275 100644 --- a/lib/tracer.js +++ b/lib/tracer.js @@ -65,8 +65,8 @@ module.exports = (function (_) { if (chain.length) { // Don't accidentally repeat the first description in the output chainDetail = _(chain).rest().takeRight(2).value(); - message = 'There is a syntax error near ' + _.first(chain) + - ' [' + chainDetail.join(', ') + ']' + ''; + message = 'Syntax error found near ' + _.first(chain) + + ' (' + chainDetail.join(', ') + ')' + ''; location = _.findLast(this.events, {description: _.last(chain)}).location; throw { 'name': 'SyntaxError', diff --git a/src/tracer.js b/src/tracer.js index f3a5ece..dfb8275 100644 --- a/src/tracer.js +++ b/src/tracer.js @@ -65,8 +65,8 @@ module.exports = (function (_) { if (chain.length) { // Don't accidentally repeat the first description in the output chainDetail = _(chain).rest().takeRight(2).value(); - message = 'There is a syntax error near ' + _.first(chain) + - ' [' + chainDetail.join(', ') + ']' + ''; + message = 'Syntax error found near ' + _.first(chain) + + ' (' + chainDetail.join(', ') + ')' + ''; location = _.findLast(this.events, {description: _.last(chain)}).location; throw { 'name': 'SyntaxError', diff --git a/test/index-spec.js b/test/index-spec.js index b78cf67..d7eaca8 100644 --- a/test/index-spec.js +++ b/test/index-spec.js @@ -298,7 +298,7 @@ describe('sqlite-parser', function() { it('parse error 1', function(done) { tree.error({ - 'message': 'There is a syntax error near FROM Clause [Table Identifier]' + 'message': 'Syntax error found near FROM Clause (Table Identifier)' }, this, done); }); From 152d83120ead1896a7758edc0562f52c9b634c6c Mon Sep 17 00:00:00 2001 From: Nick Wronski Date: Wed, 1 Jul 2015 22:47:16 -0400 Subject: [PATCH 05/10] demo layout off by 1px when at smallest resolution --- demo/css/demo.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demo/css/demo.css b/demo/css/demo.css index d30749c..2c80d74 100644 --- a/demo/css/demo.css +++ b/demo/css/demo.css @@ -72,7 +72,7 @@ body { } .CodeMirror { - height: 360px !important; + height: 361px !important; } footer, header { From dee97f342bdd7ca2cdab6c689534d64565060cff Mon Sep 17 00:00:00 2001 From: Nick Wronski Date: Wed, 1 Jul 2015 23:10:02 -0400 Subject: [PATCH 06/10] do not show parenthesis in error message for syntax error when there is nothing to put inside them. fixes for css in demo. refs #2 --- demo/css/demo.css | 14 ++++++++------ demo/index.html | 4 ++-- demo/sqlite-parser-demo.js | 2 +- dist/sqlite-parser.js | 2 +- lib/tracer.js | 2 +- src/tracer.js | 2 +- 6 files changed, 14 insertions(+), 12 deletions(-) diff --git a/demo/css/demo.css b/demo/css/demo.css index 2c80d74..4accbf7 100644 --- a/demo/css/demo.css +++ b/demo/css/demo.css @@ -76,8 +76,8 @@ body { } footer, header { - padding: 8px; color: #dbdbdb; + padding: 0; } footer h3, header h2 { @@ -87,16 +87,18 @@ footer h3, header h2 { footer h3 { margin: 0 auto; text-align: center; + line-height: 24px; + font-size: 16px; } -footer a, footer a:visited { - color: #2f6a9e; +a, a:visited { + color: #e6db74; text-decoration: none; } -footer a:hover, footer a:active { - color: #329e2f; - text-decoration: underline; +a:hover, a:active { + color: #77A025; + text-decoration: none; } diff --git a/demo/index.html b/demo/index.html index b0cc3c2..c266029 100644 --- a/demo/index.html +++ b/demo/index.html @@ -13,7 +13,7 @@
-

sqlite-parser demo

+

sqlite-parser demo

@@ -50,7 +50,7 @@

Syntax Tree